9/5/2015 1 gauss-siedel method computer engineering majors authors: autar kaw transforming
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
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