Gauss-Siedel Method Chemical Engineering Majors Authors: Autar Kaw http://numericalmethods.eng.usf.edu Transforming Numerical Methods Education for STEM Undergraduates 3/21/2016 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 a21x1 a22 x2 a23 x3 ... a2n xn b2 . . . . . . an1x1 an 2 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 cn 1 xn 1 a11 n a j 1 j n 1 n 1, j xj an 1,n 1 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: Liquid-Liquid Extraction A liquid-liquid extraction process conducted in the Electrochemical Materials Laboratory involved the extraction of nickel from the aqueous phase into an organic phase. A typical experimental data from the laboratory is given below: Ni aqueous phase, a (g/l) 2 2.5 3 Ni organic phase, g (g/l) 8.57 10 12 Assuming g is the amount of Ni in organic phase and a is the amount of Ni in the aqueous phase, the quadratic interpolant that estimates g is given by g x1a 2 x2 a x3 , 2 a 3.5 Example: Liquid-Liquid Extraction The solution for the unknowns x1, x2, and x3 is given by 2 1 x1 8.57 4 6.25 2.5 1 x 10 2 9 3 1 x3 12 Find the values of x1, x2,and x3 using the Gauss Seidel method. Estimate the amount of nickel in organic phase when 2.3 g/l is in the aqueous phase using quadratic interpolation. x1 1 Initial Guess: x 1 Conduct two iterations. 2 x3 1 Example: Liquid-Liquid Extraction Rewriting each equation 2 1 x1 8.57 4 6.25 2.5 1 x 10 2 9 3 1 x3 12 8.57 2 x2 x3 x1 4 10 6.25 x1 x3 x2 2.5 12 9 x1 3x2 x3 1 Example: Liquid-Liquid Extraction Iteration 1 Applying the initial guess and solving for each xi 8.57 2 1 1 x1 1.3925 4 x1 1 Initial Guess x2 1 x3 1 x2 10 6.25 1.3925 1 0.11875 2.5 x3 12 9 1.3925 3 0.11875 0.88875 1 When solving for x2, how many of the initial guess values were used? Example: Liquid-Liquid Extraction Finding the absolute relative approximate error for Iteration 1. a i xinew xiold 100 new xi a 1 a 2 1.3925 1 100 28.187% 1.3925 0.11875 1 100 742.11% 0.11875 a 3 0.88875 1 100 212.52% 0.88875 At the end of the Iteration 1 x1 1.3925 x 0.11875 2 x3 0.88875 The maximum absolute relative approximate error is 742.11%. Example: Liquid-Liquid Extraction Iteration 2 Using x1 1.3925 x 0.11875 2 x3 0.88875 from Iteration 1 the values of xi are found. 8.57 2 0.11875 (0.88875) 2.3053 4 10 6.25 2.3053 (0.88875) x2 1.4078 2.5 12 9 2.3053 3 (1.4078) x3 4.5245 1 x1 Example: Liquid-Liquid Extraction Finding the absolute relative approximate error for Iteration 2. 2.3053 1.3925 a 1 100 2.3053 39.596 % a 2 1.40778 0.11875 100 1.4078 108.44 % 4.5245 (0.88875) 100 4.5245 80.357 % a 3 At the end of the Iteration 1 x1 2.3053 x 1.4078 2 x 3 4.5245 The maximum absolute relative approximate error is 108.44% Example: Liquid-Liquid Extraction Repeating more iterations, the following values are obtained Iteration x1 a 1 % x2 1 2 3 4 5 6 1.3925 2.3053 3.9775 7.0584 12.752 23.291 28.1867 39.5960 42.041 43.649 44.649 45.249 0.11875 −1.4078 −4.1340 −9.0877 −18.175 −34.930 a 2 % x3 742.1053 −0.88875 108.4353 −4.5245 65.946 −11.396 54.510 −24.262 49.999 −48.243 47.967 −92.827 a 3 % 212.52 80.357 60.296 53.032 49.708 48.030 Notice – The relative errors are not decreasing at any significant rate x1 1.14 Also, the solution is not converging to the true solution of x 2 2.27 x 3 8.55 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-Seidel 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 aii aij j 1 j i n for all ‘i’ and a ii a ij j 1 j i for at least one ‘i’ Gauss-Siedel 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. Original (Non-Diagonally dominant) 2 1 x1 8.57 4 6.25 2.5 1 x 10 2 9 3 1 x3 12 Rewritten (Diagonally dominant) 3 1 x1 12 9 6.25 2.5 1 x 10 2 4 2 1 x3 8.57 Example: Liquid-Liquid Extraction x1 1 Iteration 1 With an initial guess of x2 1 x3 1 Rewriting each equation 12 3 1 1 0.88889 9 10 6.25 0.88889 1 x2 1.3778 2.5 8.57 4 0.88889 2 1.3778 x3 2.2589 1 x1 Example: Liquid-Liquid Extraction The absolute relative approximate error for Iteration 1 is 0.88889 1 a 1 100 12.5% 0.88889 a 2 a 3 1.3778 1 100 27.419% 1.3778 2.2589 1 100 55.730% 2.2589 At the end of Iteration 1 x1 0.8889 x 1.3778 2 x3 2.2589 The maximum absolute relative error after the first iteration is 55.730% Example: Liquid-Liquid Extraction Iteration 2 x1 0.8889 Using x2 1.3778 x3 2.2589 from Iteration 1 the values for xi are found 12 3 1.3778 1 2.2589 0.62309 9 10 6.25 0.62309 1 2.2589 x2 1.5387 2.5 8.57 4 0.62309 2 1.5387 x3 3.0002 1 x1 Example: Liquid-Liquid Extraction The absolute relative approximate error for Iteration 2 a 1 a 2 a 3 0.62309 0.88889 100 42.659% 0.62309 1.5387 1.3778 100 10.460% 1.5387 3.0002 2.2589 100 24.709% 3.0002 At the end of Iteration 2 x1 0.62309 x 1.5387 2 x 3 3.0002 The maximum absolute relative error after the first iteration is 42.659% Example: Liquid-Liquid Extraction Repeating more iterations, the following values are obtained Iteration x1 a 1 % x2 1 2 3 4 5 6 0.88889 0.62309 0.48707 0.42178 0.39494 0.38890 12.5 42.659 27.926 15.479 6.7960 1.5521 1.3778 1.5387 1.5822 1.5627 1.5096 1.4393 a 2 % 27.419 10.456 2.7506 1.2537 3.5131 4.8828 x3 a 3 % 2.2589 3.0002 3.4572 3.7576 3.9710 4.1357 55.730 24.709 13.220 7.9928 5.3747 3.9826 After six iterations, the absolute relative approximate error seems to be decreasing. Conducting more iterations allows the absolute relative approximate error to decrease to an acceptable level. Example: Liquid-Liquid Extraction Repeating more iterations, the following values are obtained Iteration x1 a 1 % x2 a 2 % x3 a 3 % 199 200 1.1335 1.1337 0.014412 0.014056 −2.2389 −2.2397 0.034871 0.034005 8.5139 8.5148 0.010666 0.010403 The value of x1 1.1337 x 2.2397 2 x3 8.5148 closely approaches the true value of x1 1.14 x 2.27 2 x 3 8.55 Example: Liquid-Liquid Extraction The polynomial that passes through the three data points is then g a x1 a x2 a x3 2 1.1337a 2.2397 a 8.5148 2 Where g is grams of nickel in the organic phase and a is the grams/liter in the aqueous phase. When 2.3g/l is in the aqueous phase, using quadratic interpolation, the estimated the amount of nickel in the organic phase g 2.3 1.1337 2.3 2.2397 2.3 8.5148 2 9.3608 g/l 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 12 x1 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 3 7 13 A 1 5 3 12 3 5 But this same set of equations will converge. 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