Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major:...

35
3/25/2010 http://numericalmethods.eng.usf.edu 1 Gauss-Siedel Method Major: All Engineering Majors Authors: Autar Kaw (Modified by P. Goel for IDC103) http://numericalmethods.eng.usf.edu Transforming Numerical Methods Education for STEM Undergraduates

Transcript of Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major:...

Page 1: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

3/25/2010 http://numericalmethods.eng.usf.edu 1

Gauss-Siedel Method

Major: All Engineering Majors

Authors: Autar Kaw(Modified by P. Goel for IDC103)

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

Undergraduates

Page 2: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

Gauss-Seidel Method

http://numericalmethods.eng.usf.edu

Page 3: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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.

Page 4: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodWhy?

Obviously it isn’t possible to obtain better than machine precision fora solution of SLEs (using Gaussian Elimination and LUDecomposition). Actually, the situation is worse for large systems: itisn’t possible to get close to machine precision in direct methods.

The Gauss-Seidel Method allows the user to control round-off error.In fact, iterative methods can be used to improve the solutionobtained by direct methods.

Page 5: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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

Page 6: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodAlgorithm

Rewriting each equation

11

131321211 a

xaxaxacx nn−−−=

KK

nn

nnnnnnn

nn

nnnnnnnnnn

nn

axaxaxac

x

axaxaxaxac

x

axaxaxacx

11,2211

1,1

,122,122,111,111

22

232312122

−−

−−

−−−−−−−−

−−−−=

−−−−=

−−−=

KK

KK

MMM

KK

From Equation 1

From equation 2

From equation n-1

From equation n

Page 7: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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

Page 8: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodAlgorithm

General Form for any row ‘i’

.,,2,1,1

nia

xac

xii

n

ijj

jiji

i K=

=

∑≠=

How or where can this equation be used?

Page 9: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodSolve for the unknowns

Assume an initial guess for [X]

n

-n

2

xx

xx

1

1

M

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.

Page 10: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel MethodCalculate the Absolute Relative Approximate Error

100×−

=∈ newi

oldi

newi

ia xxx

So when has the answer been f ound?

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

Page 11: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 1

The system of equations

=

2.2792.1778.106

11214418641525

3

2

1

aaa

Initial Guess: Assume an initial guess of

=

521

3

2

1

aaa

Page 12: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 1

Rewriting each equation

=

2.2792.1778.106

11214418641525

3

2

1

aaa

2558.106 32

1

aaa −−=

8642.177 31

2

aaa −−=

1121442.279 21

3

aaa −−=

Page 13: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 1Applying the initial guess and solving for ai

=

521

3

2

1

aaa 6720.3

25)5()2(58.106a1 =

−−=

( ) ( ) 8510.78

56720.3642.177a 2 −=−−

=

( ) ( ) 36.1551

8510.7126720.31442.279a3 −=−−−

=

Initial Guess

When solving for a2, how many of the initial guess values were used?

Page 14: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 1

%76.721006720.3

0000.16720.31a =

−=∈ x

%47.1251008510.7

0000.28510.72a =

−−−

=∈ x

%22.10310036.155

0000.536.1553a =

−−−

=∈ x

Finding the absolute relative approximate error

100×−

=∈ newi

oldi

newi

ia xxx At the end of the first iteration

The maximum absolute relative approximate error is 125.47%

−−=

36.1558510.7

6720.3

3

2

1

aaa

Page 15: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 1Iteration #2

Using

−−=

36.1558510.7

6720.3

3

2

1

aaa

( ) 056.1225

36.1558510.758.1061 =

−−−=a

( ) 882.548

36.155056.12642.1772 −=

−−=a

( ) ( ) 34.7981

882.5412056.121442.2793 −=

−−−=a

from iteration #1

the values of ai are found:

Page 16: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 1Finding the absolute relative approximate error

%543.69100056.12

6720.3056.121a =

−=∈ x

( ) %695.85100x882.54

8510.7882.542

=−

−−−=∈a

( ) %540.8010034.798

36.15534.7983a =

−−−−

=∈ x

At the end of the second iteration

−−=

54.798882.54

056.12

3

2

1

aaa

The maximum absolute relative approximate error is 85.695%

Page 17: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

Iteration a1 a2 a3

123456

3.672012.05647.182193.33800.533322.6

72.76769.54374.44775.59575.85075.906

−7.8510−54.882−255.51−1093.4−4577.2−19049

125.4785.69578.52176.63276.11275.972

−155.36−798.34−3448.9−14440−60072−249580

103.2280.54076.85276.11675.96375.931

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 1

=

0857.1690.19

29048.0

aaa

3

2

1

Repeating more iterations, the following values are obtained

%1a∈ %

2a∈ %3a∈

Notice – The relative errors are not decreasing at any significant rate

Also, the solution is not converging to the true solution of

Page 18: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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?

Page 19: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Pitfall

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

∑≠=

≥n

jj

ijaai1

ii ∑≠=

>n

ijj

ijii aa1

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

GAUSS-SEIDEL CONVERGENCE THEOREM: If A isdiagonally dominant, then the Gauss-Seidel methodconverges for any starting vector x. A sufficient, butnot necessary condition.

Page 20: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Pitfall

[ ]

=

11612314345

3481.52A

Diagonally dominant: The coefficient on the diagonal must be at least equal to the sum of the other coefficients in that row and at least one row with a diagonal coefficient greater than the sum of the other coefficients in that row.

=

129349655323

5634124]B[

Which coefficient matrix is diagonally dominant?

Page 21: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2Given the system of equations

15312 321 x- x x =+

2835 321 x x x =++761373 321 =++ x x x

=

101

3

2

1

xxx

With an initial guess of

The coefficient matrix is:

[ ]

−=

13733515312

A

Will the solution converge using the Gauss-Siedel method?

Page 22: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

[ ]

−=

13733515312

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

Page 23: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

=

76281

13733515312

3

2

1

aaa

Rewriting each equation

12531 32

1

xxx +−=

5328 31

2

xxx −−=

137376 21

3

xxx −−=

With an initial guess of

=

101

3

2

1

xxx

( ) ( ) 50000.012

150311 =

+−=x

( ) ( ) 9000.45

135.0282 =

−−=x

( ) ( ) 0923.313

9000.4750000.03763 =

−−=x

Page 24: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2The 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%

Page 25: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2

=

8118.37153.3

14679.0

3

2

1

xxx

After Iteration #1

( ) ( ) 14679.012

0923.359000.4311 =

+−=x

( ) ( ) 7153.35

0923.3314679.0282 =

−−=x

( ) ( ) 8118.313

900.4714679.03763 =

−−=x

Substituting the x values into the equations

After Iteration #2

=

0923.39000.45000.0

3

2

1

xxx

Page 26: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 2Iteration #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 fi rst iteration is 240.61%

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

Page 27: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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 2Repeating more iterations, the following values are obtained

%1a∈ %

2a∈ %3a∈

=

431

3

2

1

xxx

=

0001.40001.3

99919.0

3

2

1

xxx

The solution obtained is close to the exact solution of .

Page 28: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method: Example 3Given the system of equations

761373 321 =++ xxx

2835 321 =++ xxx15312 321 =−+ xxx

With an initial guess of

=

101

3

2

1

xxx

Rewriting the equations

313776 32

1xxx −−

=

5328 31

2xxx −−

=

53121 21

3 −−−

=xxx

Page 29: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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 3Conducting 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?

Page 30: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

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

The coefficient matrix is not diagonally dominant [ ]

−=

5312351

1373A

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

−=

13733515312

A

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

Page 31: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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?

Page 32: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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

Page 33: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

http://numericalmethods.eng.usf.edu

Gauss-Seidel Method

Questions?

Page 34: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

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

Page 35: Gauss-Siedel Method - IISER Punepgoel/GaussSeidel.pdf ·  · 2010-03-25Gauss-Siedel Method Major: All Engineering Majors ... Gauss-Seidel Method: Example 1 100 72.76% 3.6720 3.6720

THE END

http://numericalmethods.eng.usf.edu