Gauss - Seidel Method - Transforming Numerical Methods
Download
Report
Transcript Gauss - Seidel Method - Transforming Numerical Methods
Gauss-Siedel Method
Major: All Engineering Majors
Authors: Autar Kaw
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
7/7/2015
http://numericalmethods.eng.usf.edu
1
Gauss-Seidel Method
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method
An 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 Method
Why?
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 Method
Algorithm
A set of n equations and n unknowns:
a11x1 a12 x2 a13 x3 ... a1n xn b1
a21 x1 a22 x2 a23 x3 ... a2n xn b2
.
.
.
.
.
.
an1x1 an2 x2 an3 x3 ... ann xn bn
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 Method
Algorithm
Rewriting each equation
x1
c1 a12 x2 a13 x3 a1n xn
a11
From Equation 1
c2 a21 x1 a23 x3 a2 n xn
a22
From equation 2
x2
xn 1
xn
cn 1 an 1,1 x1 an 1, 2 x2 an 1,n 2 xn 2 an 1,n xn
From equation n-1
an 1,n 1
cn an1 x1 an 2 x2 an ,n 1 xn 1
From equation n
ann
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method
Algorithm
General Form of each equation
n
c1 a1 j x j
x1
j 1
j 1
a11
cn1
xn1
n
a
j 1
j n 1
n 1, j
xj
an1,n1
n
c n a nj x j
n
c2 a2 j x j
x2
j 1
j 2
a 22
xn
j 1
j n
a nn
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method
Algorithm
General Form for any row ‘i’
n
ci aij x j
xi
j 1
j i
aii
, i 1,2,, n.
How or where can this equation be used?
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method
Solve for the unknowns
Assume an initial guess for [X]
x1
x
2
xn-1
xn
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 Method
Calculate the Absolute Relative Approximate Error
a i
xinew xiold
100
new
xi
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.
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
The upward velocity of a rocket
is given at three different times
Table 1 Velocity vs. Time data.
Time, t s Velocity v m/s
5
106.8
8
177.2
12
279.2
The velocity data is approximated by a polynomial as:
vt a1t 2 a2t a3 , 5 t 12.
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
Using a Matrix template of the form
The system of equations becomes
Initial Guess: Assume an initial guess of
t12
2
t 2
t32
t1
t2
t3
1 a1 v1
1 a2 v2
1 a3 v3
25 5 1 a1 106.8
64 8 1 a 177.2
2
144 12 1 a3 279.2
a1 1
a 2
2
a 3 5
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
Rewriting each equation
25 5 1 a1 106.8
64 8 1 a 177.2
2
144 12 1 a3 279.2
106 .8 5a 2 a 3
a1
25
177 .2 64 a1 a3
a2
8
279 .2 144 a1 12 a 2
a3
1
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
Applying the initial guess and solving for ai
a1 1
a 2
2
a 3 5
Initial Guess
a1
106 .8 5(2) (5)
3.6720
25
177 .2 643.6720 5
a2
7.8510
8
a3
279 .2 144 3.6720 12 7.8510
155 .36
1
When solving for a2, how many of the initial guess values were used?
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
Finding the absolute relative approximate error
a i
xinew xiold
100
new
xi
a 1
a
2
3.6720 1.0000
x100 72.76%
3.6720
7.8510 2.0000
x100 125.47%
7.8510
a 3
At the end of the first iteration
a1 3.6720
a 7.8510
2
a 3 155.36
The maximum absolute
relative approximate error is
125.47%
155.36 5.0000
x100 103.22%
155.36
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
Using
a1 3.6720
a 7.8510
2
a3 155.36
Iteration #2
the values of ai are found:
a1
106 .8 5 7.8510 155 .36
12.056
25
a2
177 .2 6412.056 155 .36
54.882
8
from iteration #1
a3
279 .2 144 12.056 12 54.882
798 .34
1
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
Finding the absolute relative approximate error
12.056 3.6720
At the end of the second iteration
a 1
x100 69.543%
12.056
a 12.056
1
a 2
a 3
54.882 7.8510
x100 85.695%
54.882
798.34 155.36
x100 80.540%
798.34
a 54.882
2
a3 798.54
The maximum absolute
relative approximate error is
85.695%
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 1
Repeating more iterations, the following values are obtained
Iteration
1
2
3
4
5
6
a1
3.6720
12.056
47.182
193.33
800.53
3322.6
a 1 %
72.767
69.543
74.447
75.595
75.850
75.906
a2
−7.8510
−54.882
−255.51
−1093.4
−4577.2
−19049
a 2 %
125.47
85.695
78.521
76.632
76.112
75.972
a3
−155.36
−798.34
−3448.9
−14440
−60072
−249580
a 3 %
103.22
80.540
76.852
76.116
75.963
75.931
Notice – The relative errors are not decreasing at any significant rate
a 1 0.29048
Also, the solution is not converging to the true solution of
a
19
.
690
2
a 3 1.0857
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
n
aii aij
j 1
j i
for all ‘i’
and
aii aij
for at least one ‘i’
j 1
j i
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Pitfall
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.
Which coefficient matrix is diagonally dominant?
2 5.81 34
A 45 43 1
123 16
1
124 34 56
[ B] 23 53 5
96 34 129
Most physical systems do result in simultaneous linear equations that
have diagonally dominant coefficient matrices.
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 2
Given the system of equations
12x1 3x2- 5x3 1
x1 5x2 3x3 28
3x1 7 x2 13x3 76
With an initial guess of
x1 1
x 0
2
x 3 1
The coefficient matrix is:
12 3 5
A 1 5 3
3 7 13
Will the solution converge using the
Gauss-Siedel method?
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 2
Checking if the coefficient matrix is diagonally dominant
12 3 5
A 1 5 3
3 7 13
a11 12 12 a12 a13 3 5 8
a22 5 5 a21 a23 1 3 4
a33 13 13 a31 a32 3 7 10
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
Rewriting each equation
With an initial guess of
12 3 5 a1 1
1 5 3 a 28
2
3 7 13 a3 76
1 3 x 2 5 x3
x1
12
28 x1 3x3
x2
5
76 3 x1 7 x 2
x3
13
x1 1
x 0
2
x 3 1
x1
1 30 51
0.50000
12
28 0.5 31
x2
4.9000
5
76 30.50000 74.9000
x3
3.0923
13
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 2
The absolute relative approximate error
0.50000 1.0000
a 1
100 100.00%
0.50000
a
a
2
3
4.9000 0
100 100.00%
4.9000
3.0923 1.0000
100 67.662%
3.0923
The maximum absolute relative error after the first iteration is 100%
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 2
After Iteration #1
x1 0.5000
x 4.9000
2
x3 3.0923
Substituting the x values into the
equations
x1
1 34.9000 53.0923
0.14679
12
x2
28 0.14679 33.0923
3.7153
5
x3
76 30.14679 74.900
3.8118
13
After Iteration #2
x1 0.14679
x 3.7153
2
x3 3.8118
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 2
Iteration #2 absolute relative approximate error
a 1
a
a
2
3
0.14679 0.50000
100 240.61%
0.14679
3.7153 4.9000
100 31.889%
3.7153
3.8118 3.0923
100 18.874%
3.8118
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?
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 2
Repeating more iterations, the following values are obtained
Iteration
a1
a 1 %
a2
a 2 %
a3
1
2
3
4
5
6
0.50000
0.14679
0.74275
0.94675
0.99177
0.99919
100.00
240.61
80.236
21.546
4.5391
0.74307
4.9000
3.7153
3.1644
3.0281
3.0034
3.0001
100.00
31.889
17.408
4.4996
0.82499
0.10856
3.0923
3.8118
3.9708
3.9971
4.0001
4.0001
a 3 %
67.662
18.876
4.0042
0.65772
0.074383
0.00101
x1 0.99919
The solution obtained x 3.0001 is close to the exact solution of
2
x3 4.0001
x1 1
x 3 .
2
x 3 4
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 3
Given the system of equations
3x1 7 x2 13x3 76
Rewriting the equations
x1 5x2 3x3 28
76 7 x2 13 x3
x1
3
12x1 3x2 5x3 1
With an initial guess of
x1 1
x 0
2
x3 1
28 x1 3 x3
x2
5
1 12 x1 3 x 2
x3
5
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method: Example 3
Conducting six iterations, the following values are obtained
Iteration
a1
1
2
3
4
5
6
21.000
−196.15
−1995.0
−20149
2.0364×105
−2.0579×105
a 1 %
A2
95.238
0.80000
110.71
14.421
109.83
−116.02
109.90
1204.6
109.89
−12140
109.89 1.2272×105
a 2 %
a3
a 3 %
100.00
94.453
112.43
109.63
109.92
109.89
50.680
−462.30
4718.1
−47636
4.8144×105
−4.8653×106
98.027
110.96
109.80
109.90
109.89
109.89
The values are not converging.
Does this mean that the Gauss-Seidel method cannot be used?
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method
The Gauss-Seidel Method can still be used
The coefficient matrix is not
diagonally dominant
But this is the same set of
equations used in example #2,
which did converge.
3 7 13
A 1 5 3
12 3 5
12 3 5
A 1 5 3
3 7 13
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 Method
Not every system of equations can be rearranged to have a
diagonally dominant coefficient matrix.
Observe the set of equations
x1 x2 x3 3
2 x1 3x2 4 x3 9
x1 7 x2 x3 9
Which equation(s) prevents this set of equation from having a
diagonally dominant coefficient matrix?
http://numericalmethods.eng.usf.edu
Gauss-Seidel Method
Summary
-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?
http://numericalmethods.eng.usf.edu
Additional Resources
For 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_seid
el.html
THE END
http://numericalmethods.eng.usf.edu