Gauss-Siedel Method Electrical Engineering Majors Authors: Autar Kaw http://numericalmethods.eng.usf.edu Transforming Numerical Methods Education for STEM Undergraduates 4/13/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: Unbalanced three phase load Three-phase loads are common in AC systems. When the system is balanced the analysis can be simplified to a single equivalent circuit model. However, when it is unbalanced the only practical solution involves the solution of simultaneous linear equations. In a model the following equations need to be solved. 0.7460 0.4516 0.4516 0.7460 0.0100 0.0080 0.0080 0.0100 0.0100 0.0080 0.0080 0.0100 0.0100 0.0080 0.0100 0.0080 I ar 120 0.0080 0.0100 0.0080 0.0100 I ai 0.000 0.7787 0.5205 0.0100 0.0080 I br 60.00 0.5205 0.7787 0.0080 0.0100 I bi 103.9 0.0100 0.0080 0.8080 0.6040 I cr 60.00 0.0080 0.0100 0.6040 0.8080 I ci 103.9 Find the values of Iar , Iai , Ibr , Ibi , Icr , and Ici using the Gauss-Seidel method. Example: Unbalanced three phase load Rewrite each equation to solve for each of the unknowns I ar 120 .00 0.4516 I ai 0.0100 I br 0.0080 I bi 0.0100 I cr 0.0080 I ci 0.7460 I ai 0.000 0.4516 I ar 0.0080 I br 0.0100 I bi 0.0080 I cr 0.0100 I ci 0.7460 I br 60.00 0.0100 I ar 0.0080 I ai 0.5205 I bi 0.0100 I cr 0.0080 I ci 0.7787 I bi 103.9 0.0080 I ar 0.0100 I ai 0.5205 I br 0.0080 I cr 0.0100 I ci 0.7787 I cr 60.00 0.0100 I ar 0.0080 I ai0.0100 I br 0.0080 I bi 0.6040 I ci 0.8080 I ci 103.9 0.0080 I ar 0.0100 I ai 0.0080 I br 0.0100 I bi 0.6040 I cr 0.8080 Example: Unbalanced three phase load For iteration 1, start with an initial guess value Initial Guess: I ar 20 I 20 ai I br 20 I bi 20 I cr 20 I ci 20 Example: Unbalanced three phase load Substituting the guess values into the first equation 120 0.4516I ai 0.0100I br 0.0080I bi 0.0100I cr 0.0080I ci 0.7460 172.86 I ar Substituting the new value of Iar and the remaining guess values into the second equation 0.00 0.4516I ar 0.0080I br 0.0100I bi 0.0080I cr 0.0100I ci 0.7460 105.61 I ai Example: Unbalanced three phase load Substituting the new values Iar , Iai , and the remaining guess values into the third equation 60.00 0.0100I ar 0.0080I ai 0.5205I bi 0.0100I cr 0.0080I ci 0.7787 67.039 I br Substituting the new values Iar , Iai , Ibr , and the remaining guess values into the fourth equation 103.9 0.0080I ar 0.0100I ai 0.5205I br 0.0080I cr 0.0100I ci 0.7787 89.499 I bi Example: Unbalanced three phase load Substituting the new values Iar , Iai , Ibr , Ibi , and the remaining guess values into the fifth equation 60.00 0.0100I ar 0.0080I ai0.0100I br 0.0080I bi 0.6040I ci 0.8080 62.548 I cr Substituting the new values Iar , Iai , Ibr , Ibi , Icr , and the remaining guess value into the sixth equation 103.9 0.0080I ar 0.0100I ai 0.0080I br 0.0100I bi 0.6040I cr 0.8080 176.71 I ci Example: Unbalanced three phase load At the end of the first iteration, the solution matrix is: I ar 172.86 I 105.61 ai I br 67.039 I 89 . 499 bi I cr 62.548 I 176 . 71 ci How accurate is the solution? Find the absolute relative approximate error using: a i xinew xiold 100 new xi Example: Unbalanced three phase load Calculating the absolute relative approximate errors 172.86 20 100 88.430% 172.86 a 5 62.548 20 100 131.98% 62.548 a 2 105.61 20 100 118.94% 105.61 a 6 176.71 20 100 88.682% 176.71 a 3 67.039 20 100 129.83% 67.039 a 1 a 4 89.499 20 100 122.35% 89.499 The maximum error after the first iteration is: 131.98% Another iteration is needed! Example: Unbalanced three phase load Starting with the values obtained in iteration #1 I ar 172.86 I 105.61 ai I br 67.039 I 89 . 499 bi I cr 62.548 I 176 . 71 ci Substituting the values from Iteration 1 into the first equation 120.00 0.4516I ai 0.0100I br 0.0080I bi 0.0100I cr 0.0080I ci I ar 0.7460 99.600 Example: Unbalanced three phase load Substituting the new value of Iar and the remaining values from Iteration 1 into the second equation 0.00 0.4516I ar 0.0080I br 0.0100I bi 0.0080I cr 0.0100I ci 0.7460 60.073 I ai Substituting the new values Iar , Iai , and the remaining values from Iteration 1 into the third equation 60.00 0.0100I ar 0.0080I ai 0.5205I bi 0.0100I cr 0.0080I ci 0.7787 136.15 I br Example: Unbalanced three phase load Substituting the new values Iar , Iai , Ibr , and the remaining values from Iteration 1 into the fourth equation 103.9 0.0080I ar 0.0100I ai 0.5205I br 0.0080I cr 0.0100I ci 0.7787 44.299 I bi Substituting the new values Iar , Iai , Ibr , Ibi , and the remaining values From Iteration 1 into the fifth equation 60.00 0.0100I ar 0.0080I ai0.0100I br 0.0080I bi 0.6040I ci 0.8080 57.259 I cr Example: Unbalanced three phase load Substituting the new values Iar , Iai , Ibr , Ibi , Icr , and the remaining value from Iteration 1 into the sixth equation 103.9 0.0080I ar 0.0100I ai 0.0080I br 0.0100I bi 0.6040I cr 0.8080 87.441 I ci The solution matrix at the end of the second iteration is: I ar 99.600 I 60.073 ai I br 136.15 I 44 . 299 bi I cr 57.259 I ci 87.441 Example: Unbalanced three phase load Calculating the absolute relative approximate errors for the second iteration a 1 a 2 a 3 a 4 99.600 172.86 100 73.552% 99.600 60.073 (105.61) 100 75.796% 60.073 136.35 (67.039) 100 50.762% 136.35 44.299 (89.499) 100 102.03% 44.299 a 5 57.259 (62.548) 100 209.24% 57.259 a 6 87.441 176.71 100 102.09% 87.441 The maximum error after the second iteration is: 209.24% More iterations are needed! Example: Unbalanced three phase load Repeating more iterations, the following values are obtained Iteration 1 2 3 4 5 6 Iteration 1 2 3 4 5 6 Iar Iai Ibr Ibi Icr Ici 172.86 99.600 126.01 117.25 119.87 119.28 −105.61 −60.073 −76.015 −70.707 −72.301 −71.936 −67.039 −136.15 −108.90 −119.62 −115.62 −116.98 −89.499 −44.299 −62.667 −55.432 −58.141 −57.216 −62.548 57.259 −10.478 27.658 6.2513 18.241 176.71 87.441 137.97 109.45 125.49 116.53 a 1 % a 2 % a 3 % a 4 % a 5 % a 6 % 88.430 73.552 20.960 7.4738 2.1840 0.49408 118.94 75.796 20.972 7.5067 2.2048 0.50789 129.83 50.762 25.027 8.9631 3.4633 1.1629 122.35 102.03 29.311 13.053 4.6595 1.6170 131.98 209.24 646.45 137.89 342.43 65.729 88.682 102.09 36.623 26.001 12.742 7.6884 Example: Unbalanced three phase load After six iterations, the solution matrix is I ar 119.28 I 71.936 ai I br 116.98 I 57 . 216 bi I cr 18.241 I ci 116.53 The maximum error after the sixth iteration is: 65.729% The absolute relative approximate error is still high, but allowing for more iterations, the error quickly begins to converge to zero. What could have been done differently to allow for a faster convergence? Example: Unbalanced three phase load Repeating more iterations, the following values are obtained Iteration 32 33 Iar 119.33 119.33 Iai Ibr Ibi Icr −57.432 −57.432 13.940 13.940 Ici −71.973 −71.973 −116.66 −116.66 a 2 % a 3 % a 4 % a 5 % a 6 % 119.74 119.74 Iteration a 1 % 32 3.0666×10−7 3.0047×10−7 4.2389×10−7 5.7116×10−7 2.0941×10−5 1.8238×10−6 33 1.7062×10−7 1.6718×10−7 2.3601×10−7 3.1801×10−7 1.1647×10−5 1.0144×10−6 Example: Unbalanced three phase load After 33 iterations, the solution matrix is I ar 119.33 I 71.973 ai I br 116.66 I 57 . 432 bi I cr 13.940 I ci 119.74 The maximum absolute relative approximate error is 1.1647×10−5%. Gauss-Seidel Method: Pitfall Even though done correctly, the answer may not converge to the correct answer. This is 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