Gauss-Seidel Method
Download
Report
Transcript Gauss-Seidel Method
Gauss-Siedel Method
Civil Engineering Majors
Authors: Autar Kaw
http://numericalmethods.eng.usf.edu
Transforming Numerical Methods Education for STEM
Undergraduates
7/18/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
Example: Cylinder Stresses
To find the maximum stresses in a compounded cylinder, the following
four simultaneous linear equations need to solved.
4.2857107
7
4
.
2857
10
6.5
0
9.2307105
0
5.4619105
0.15384
4.2857107
6.5
0
4.2857107
c1 7.887103
5.4619105 c2
0
0.15384 c3 0.007
5
3.605710 c4
0
0
Example: Cylinder Stresses
In the compound cylinder, the inner cylinder has an internal radius of
a = 5”, and outer radius c = 6.5”, while the outer cylinder has an
internal radius of c = 6.5” and outer radius, b=8”. Given E = 30×106
psi, ν = 0.3, and that the hoop stress in outer cylinder is given by
E
1 2
1
c
1
c
4
3
2
r
find the stress on the inside radius of the outer cylinder.
Find the values of c1, c2, c3 and c4 using Gauss-Seidel Method.
Assume an initial guess of
iterations.
c1 0.005
c 0.001
2
and conduct two
c3 0.0002
c
0
.
03
4
Example: Cylinder Stresses
Rewriting each equation
4.2857107
7
4.285710
6.5
0
9.2307105
0
5.4619105
4.2857107
0.15384
6.5
0
4.2857107
c1 7.887103
5.4619105 c2
0
0.15384 c3 0.007
3.6057105 c4
0
0
7.887103 9.2307105 c2 0c3 0c4
c1
4.2857107
0 4.2857107 c1 4.2857107 c3 5.4619105 c4
c2
5.4619105
0.007 6.5c1 0.15384 c2 0.15384 c4
c3
6.5
0 0c1 0c2 4.2857107 c3
c4
3.6057105
Example: Cylinder Stresses
Iteration 1
Substituting initial guesses into the equations
c1
7.887103 9.2307105 0.001
4
1
.
6249
10
4.2857107
c1 0.005
c 0.001
2
c3 0.0002
c 4 0.03
0 4.2857107 1.6249104 4.2857107 0.0002 5.4619105 0.03
3
c2
1
.
5569
10
5.4619105
0.007 6.5 1.6249104 0.153841.5569103 0.15384 0.03
c3
2.4125104
6.5
0 4.2857107 2.4125104
c4
2.8675102
5
3.605710
Example: Cylinder Stresses
Finding the absolute relative approximate error
a i
cinew ciold
100
new
ci
At the end of the first
iteration
1.6249 10 4 0.005
a 1
100 2977.1%
4
1.6249 10
a
2
1.5569 103 0.001
100 35.770%
1.5569 103
4
a 3
2.4125 10 0.002
100 17.098%
4
2.4125 10
a
2.8675 10 2 0.03
100 4.6223%
2
2.8675 10
4
c1 1.6249 104
c
3
1
.
5569
10
2
4
c3 2.4125 10
2
c
2
.
8675
10
4
The maximum absolute
relative approximate error is
2977.1%
Example: Cylinder Stresses
Iteration 2
Using
c1 1.6249 104
c
3
1
.
5569
10
2
4
c3 2.4125 10
2
c
2
.
8675
10
4
7.887103 (9.2307105 ) 1.559103
c1
4.2857107
1.5050104
0 4.2857107 (1.5050104 ) (4.2857107 ) 2.4125104 5.4619105 2.8675102
c2
5.4619105
2.0639103
0.007 (6.5) (1.505010 4 ) (0.15384) 2.0639103 0.15384 2.867510 2
c3
6.5
1.989210 4
0 4.2857107 1.989210 4
c4
3.6057105
2.364310 2
Example: Cylinder Stresses
Finding the absolute relative approximate error for the second iteration
1.5050104 1.6249104
100 7.9702%
a 1
4
1.505010
a
2
2.0639103 1.5569103
100 175.44%
3
2.063910
a 3
1.989210 4 2.412510 4
100 21.281%
4
1.989210
a
2.364310 2 2.867510 2
100 21.281%
2
2.364310
4
Example: Cylinder Stresses
At the end of the
second iteration:
c1 1.5050 104
c
3 The maximum absolute relative
2
.
0639
10
approximate error is 175.44%
2
4
c3 1.9892 10
2
c
2
.
3643
10
4
At the end of the second iteration the stress on the inside radius of
the outer cylinder is calculated.
1
c
1
c
4
3
2
r
30106
4
2 1 0.3
1.989210 1 0.3 2.364310
2
2
1 0.3
6.5
21439 psi
E
1 2
Example: Cylinder Stresses
Conducting more iterations, the following values are obtained
Iteration
c1
a 1 %
c2
a 2 %
c3
a 3 %
c4
1
−1.6249×10−4
2977.1
1.5569×10−3
35.770
2.4125×10−4
17.098
2.8675×10−2
4.6223
2
−1.5050×10−4
7.9702
−2.0639×10−3
175.44
1.9892×10−4
21.281
2.3643×10−2
21.281
3
−2.2848×10−4
34.132
−9.8931×10−3
79.138
5.4716×10−5
263.55
6.5035×10−3
263.55
4
−3.9711×10−4
42.464
−2.8949×10−2
65.826
−1.5927×10−4
134.53
−1.8931×10−2
134.35
5
−8.0755×10−4
50.825
−6.9799×10−2
58.524
−9.3454×10−4
82.957
−1.1108×10−1
82.957
6
−1.6874×10−3
52.142
−1.7015×10−1
58.978
−2.0085×10−3
53.472
−2.3873×10−1
53.472
Notice: The absolute relative approximate errors are not
decreasing
a 4 %
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
Example: Cylinder Stresses
Examination of the coefficient matrix reveals that it is not
diagonally dominant and cannot be rearranged to become
diagonally dominant
4.2857 107
7
4
.
2857
10
6.5
0
9.2307 105
0
5.4619 105
0.15384
4.2857 107
6.5
0
4.2857 107
5.4619 105
0.15384
3.6057 105
0
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
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