9/5/2015 1 gauss-siedel method computer engineering majors authors: autar kaw transforming

36
03/14/22 http:// numericalmethods.eng.usf.edu 1 Gauss-Siedel Method Computer Engineering Majors Authors: Autar Kaw http://numericalmethods.eng.u sf.edu Transforming Numerical Methods Education for STEM Undergraduates

Upload: jack-ferguson

Post on 26-Dec-2015

233 views

Category:

Documents


2 download

TRANSCRIPT

04/19/23http://

numericalmethods.eng.usf.edu 1

Gauss-Siedel Method

Computer Engineering Majors

Authors: Autar Kaw

http://numericalmethods.eng.usf.eduTransforming Numerical Methods Education for STEM

Undergraduates

Gauss-Seidel Method

http://numericalmethods.eng.usf.edu

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodAn iterative method.

Basic Procedure:

-Algebraically solve each linear equation for xi

-Assume an initial guess solution array

-Solve for each xi and repeat

-Use absolute relative approximate error after each iteration to check if error is within a pre-specified tolerance.

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodWhy?

The Gauss-Seidel Method allows the user to control round-off error.

Elimination methods such as Gaussian Elimination and LU Decomposition are prone to prone to round-off error.

Also: If the physics of the problem are understood, a close initial guess can be made, decreasing the number of iterations needed.

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodAlgorithm

A set of n equations and n unknowns:

11313212111 ... bxaxaxaxa nn

2323222121 ... bxaxaxaxa n2n

nnnnnnn bxaxaxaxa ...332211

. . . . . .

If: the diagonal elements are non-zero

Rewrite each equation solving for the corresponding unknown

ex:

First equation, solve for x1

Second equation, solve for x2

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodAlgorithm

Rewriting each equation

11

131321211 a

xaxaxacx nn

nn

nnnnnnn

nn

nnnnnnnnnn

nn

a

xaxaxacx

a

xaxaxaxacx

a

xaxaxacx

11,2211

1,1

,122,122,111,111

22

232312122

From Equation 1

From equation 2

From equation n-1

From equation n

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodAlgorithm

General Form of each equation

11

11

11

1 a

xac

x

n

jj

jj

22

21

22

2 a

xac

x

j

n

jj

j

1,1

11

,11

1

nn

n

njj

jjnn

n a

xac

x

nn

n

njj

jnjn

n a

xac

x

1

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodAlgorithm

General Form for any row ‘i’

.,,2,1,1

nia

xac

xii

n

ijj

jiji

i

How or where can this equation be used?

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodSolve for the unknowns

Assume an initial guess for [X]

n

-n

2

x

x

x

x

1

1

Use rewritten equations to solve for each value of xi.

Important: Remember to use the most recent value of xi. Which means to apply values calculated to the calculations remaining in the current iteration.

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodCalculate the Absolute Relative Approximate Error

100

newi

oldi

newi

ia x

xx

So when has the answer been found?

The iterations are stopped when the absolute relative approximate error is less than a prespecified tolerance for all unknowns.

Example: Surface Shape Detection

To infer the surface shape of an object from images taken of a surface from three different directions, one needs to solve the following set of equations

239

248

247

9428.02357.02357.0

9701.02425.00

9701.002425.0

3

2

1

x

x

x

The right hand side values are the light intensities from the middle of the images, while the coefficient matrix is dependent on the light source directions with respect to the camera. The unknowns are the incident intensities that will determine the shape of the object.

Find the values of x1, x2, and x3 use the Gauss-Seidel method.

Example: Surface Shape Detection

The system of equations is:

Initial Guess: Assume an initial guess of

239

248

247

9428.02357.02357.0

9701.02425.00

9701.002425.0

3

2

1

x

x

x

10

10

10

3

2

1

x

x

x

Example: Surface Shape Detection

Rewriting each equation

2425.0

)9701.0(0247 321

xxx

2425.0

)9701.0(0248 312

xxx

9428.0

)2357.0()2357.0(239 213

xxx

239

248

247

9428.02357.02357.0

9701.02425.00

9701.002425.0

3

2

1

x

x

x

Example: Surface Shape Detection

Iteration 1Substituting initial guesses into the equations

10

10

10

3

2

1

x

x

x 61058

24250

10970101002471 .

.

.x

71062

24250

10970106105802482 .

.

..x

81783

94280

710622357061058235702393 .

.

....x

Example: Surface Shape Detection

Finding the absolute relative approximate error

%.

.

.

%..

.

%..

.

x

xx

a

a

a

newi

oldi

newi

ia

2810110081783

1081783

0599910071062

1071062

0559910061058

1061058

100

3

2

1

At the end of the first iteration

The maximum absolute relative approximate error

is 101.28%

81783

71062

561058

3

2

1

.

.

.

x

x

x

Example: Surface Shape Detection

Iteration 2

Using

81.783

7.1062

6.1058

x

x

x

3

2

1

98803

94280

92112235700211723570239

9211224250

8178397010021170248

0211724250

8178397010710620247

3

2

1

..

....x

..

...x

..

...x

Example: Surface Shape Detection

Finding the absolute relative approximate error for the second iteration

%.

.

..

%..

..

%..

..

a

a

a

4919710098803

8178398803

3015010092112

7106292112

0015010002117

6105802117

3

2

1

At the end of the first

iteration

The maximum absolute relative approximate error

is 197.49%

98.803

9.2112

0.2117

3

2

1

x

x

x

Iteration x1 x2 x3

1

2

3

4

5

6

1058.6

−2117.0

4234.8

−8470.1

16942

−33888

99.055

150.00

149.99

150.00

149.99

150.00

1062.7

−2112.9

4238.9

−8466.0

16946

−33884

99.059

150.30

149.85

150.07

149.96

150.01

−783.81

803.98

−2371.9

3980.5

−8725.7

16689

101.28

197.49

133.90

159.59

145.62

152.28

Example: Surface Shape Detection

Repeating more iterations, the following values are obtained

%1a %

2a %3a

Notice: The absolute relative approximate errors are not decreasing.

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Pitfall

What went wrong?Even though done correctly, the answer is not converging to the correct answer

This example illustrates a pitfall of the Gauss-Siedel method: not all systems of equations will converge.

Is there a fix?

One class of system of equations always converges: One with a diagonally dominant coefficient matrix.

Diagonally dominant: [A] in [A] [X] = [C] is diagonally dominant if:

n

jj

ijaa

i1

ii

n

ijj

ijii aa1

for all ‘i’ and for at least one ‘i’

Gauss-Seidel Method: PitfallDiagonally Dominant: In other words….

For every row: the element on the diagonal needs to be equal than or greater than the sum of the other elements of the

coefficient matrix

For at least one row: The element on the diagonal needs to be greater than the sum of the elements.

What can be done? If the coefficient matrix is not originally diagonally dominant, the rows can be rearranged to make it

diagonally dominant.

Example: Surface Shape Detection

Examination of the coefficient matrix reveals that it is not diagonally dominant and cannot be rearranged to become diagonally dominant

This particular problem is an example of a system of linear equations that cannot be solved using the Gauss-Seidel

method.

Other methods that would work:

1. Gaussian elimination 2. LU Decomposition

9428.02357.02357.0

9701.02425.00

9701.002425.0

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

Given the system of equations

15312 321 x- x x

2835 321 x x x 761373 321 x x x

1

0

1

3

2

1

x

x

x

With an initial guess of

The coefficient matrix is:

1373

351

5312

A

Will the solution converge using the Gauss-Siedel method?

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

1373

351

5312

A

Checking if the coefficient matrix is diagonally dominant

43155 232122 aaa

10731313 323133 aaa

8531212 131211 aaa

The inequalities are all true and at least one row is strictly greater than:

Therefore: The solution should converge using the Gauss-Siedel Method

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

76

28

1

1373

351

5312

3

2

1

a

a

a

Rewriting each equation

12

531 321

xxx

5

328 312

xxx

13

7376 213

xxx

With an initial guess of

1

0

1

3

2

1

x

x

x

50000.0

12

150311

x

9000.4

5

135.0282

x

0923.3

13

9000.4750000.03763

x

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

The absolute relative approximate error

%00.10010050000.0

0000.150000.01

a

%00.1001009000.4

09000.42a

%662.671000923.3

0000.10923.33a

The maximum absolute relative error after the first iteration is 100%

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

8118.3

7153.3

14679.0

3

2

1

x

x

x

After Iteration #1

14679.0

12

0923.359000.4311

x

7153.3

5

0923.3314679.0282

x

8118.3

13

900.4714679.03763

x

Substituting the x values into the equations

After Iteration #2

0923.3

9000.4

5000.0

3

2

1

x

x

x

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

Iteration 2 absolute relative approximate error

%61.24010014679.0

50000.014679.01a

%889.311007153.3

9000.47153.32a

%874.181008118.3

0923.38118.33a

The maximum absolute relative error after the first iteration is 240.61%

This is much larger than the maximum absolute relative error obtained in iteration #1. Is this a problem?

Iteration a1 a2 a3

123456

0.500000.146790.742750.946750.991770.99919

100.00240.6180.23621.5464.5391

0.74307

4.90003.71533.16443.02813.00343.0001

100.0031.88917.4084.4996

0.824990.10856

3.09233.81183.97083.99714.00014.0001

67.66218.8764.0042

0.657720.0743830.00101

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

Repeating more iterations, the following values are obtained

%1a %

2a %3a

4

3

1

3

2

1

x

x

x

0001.4

0001.3

99919.0

3

2

1

x

x

xThe solution obtained is close to the exact solution of .

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 3

Given the system of equations

761373 321 xxx

2835 321 xxx

15312 321 xxx

With an initial guess of

1

0

1

3

2

1

x

x

x

Rewriting the equations

3

13776 321

xxx

5

328 312

xxx

5

3121 213

xxx

Iteration a1 A2 a3

123456

21.000−196.15−1995.0−20149

2.0364×105

−2.0579×105

95.238110.71109.83109.90109.89109.89

0.8000014.421

−116.021204.6−12140

1.2272×105

100.0094.453112.43109.63109.92109.89

50.680−462.304718.1−47636

4.8144×105

−4.8653×106

98.027110.96109.80109.90109.89109.89

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 3

Conducting six iterations, the following values are obtained

%1a %

2a %3a

The values are not converging.

Does this mean that the Gauss-Seidel method cannot be used?

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodThe Gauss-Seidel Method can still be used

The coefficient matrix is not diagonally dominant

5312

351

1373

A

But this is the same set of equations used in example #2, which did converge.

1373

351

5312

A

If a system of linear equations is not diagonally dominant, check to see if rearranging the equations can form a diagonally dominant matrix.

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodNot every system of equations can be rearranged to have a diagonally dominant coefficient matrix.

Observe the set of equations

3321 xxx

9432 321 xxx

97 321 xxx

Which equation(s) prevents this set of equation from having a diagonally dominant coefficient matrix?

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodSummary

-Advantages of the Gauss-Seidel Method

-Algorithm for the Gauss-Seidel Method

-Pitfalls of the Gauss-Seidel Method

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method

Questions?

Additional ResourcesFor all resources on this topic such as digital audiovisual lectures, primers, textbook chapters, multiple-choice tests, worksheets in MATLAB, MATHEMATICA, MathCad and MAPLE, blogs, related physical problems, please visit

http://numericalmethods.eng.usf.edu/topics/gauss_seidel.html

THE END

http://numericalmethods.eng.usf.edu