Presentation on theme: "Chapter 3 Numerical Solution of Linear Equations Lecture 2."— Presentation transcript:
Chapter 3 Numerical Solution of Linear Equations Lecture 2
In matrix–vector notation Linear System of Equations
Numerical methods for the solution of the systems of linear equations Direct Methods Cramer rule Gauss elimination Iterative Methods Jacobi Gauss-Siedel
1- Iterative Methods start with an initial guess of the solution vector X (0), and then repeatedly refine the solution until a certain convergence criterion is reached. Advantages : have significant computational advantages if the coefficient matrix is very large and sparsely populated (most coefficients are zero). Disadvantages: less efficient than their direct counterparts due to the large number of iterations required.
Jacobi Method The Jacobi method is an algorithm for determining the solutions of a system of linear equations with largest absolute values in each row and column dominated by the diagonal element.
Definition: The square nonsingular matrix A is called diagonally dominant if the sum of the absolute values of its elements on the main diagonal is greater than or equal to the sum of the absolute values of the remaining elements of the analyzed row of the matrix, i.e., Example : Checking if the coefficient matrix is diagonally dominant
Steps of Jacobi Method: 1.Rearrange system to be diagonally dominant. 2.Start with an initial vector 3.We determine the unknowns x1, x2, and x3 from the first, second, and third equation, respectively:
4.Perform series of consecutive iterations (k) as in step 3 until the solution converges to an exact solution, i.e., In general:
Example: Solve by Jacobi method: Start with solution guess, and start iterating on the solution
keep on going until the desired level of accuracy is achieved
Iterative convergence Is the (k+1) th solution better than the k th solution? Iterative process can be convergent/divergent A sufficient condition to ensure convergence is that the matrix is diagonally dominant A poor first guess will prolong the iterative process but will not make it diverge if the matrix is such that convergence is assured. Therefore better guesses will speed up the iterative process
Criteria for ascertaining convergence Absolute convergence criteria Where ε a user specified tolerance or accuracy The absolute convergence criteria is best used if you have a good idea of the magnitude of the x i ‘s Relative convergence criteria This criteria is best used if the magnitude of the ‘s are not known. There are also problems with this criteria if
Solution: Rearrange the system to be diagonally dominant as the following:
Determine the unknowns x 1, x 2, and x 3 from the first, second, and third equation, respectively:
Continuing this procedure, you obtain the sequence of approximations shown in the following table
Because the last two rows in the table are identical, we can conclude that to three significant digits the solution is
Gauss-Siedel Method The Gauss–Seidel method is similar to the Jacobi method except that the computation of x i (k) uses only the elements of X (k) that have already been computed, and only the elements of X (k-1) that have yet to be advanced to iteration (k).
Example 4 Solve previous Example using the Gauss–Seidel method Start with you obtain the following new value for x 1 Now that you have a new value for x 1, however, use it to compute a new value for x 2 That is,
So the first approximation is Continued iterations produce the sequence of approximations shown in the following table. Note that after only six iterations of the Gauss-Seidel method, you achieved the same accuracy as was obtained with eight iterations of the Jacobi method.
Vectors, Functions, and Plots in Matlab
Enter a matrix into Matlab with the following syntax: > A = [ ; ; ] Also enter a vector u: > u = [ ]’ To multiply a matrix times a vector Au use *: A*u Now enter another matrix B using: > B = [3 2 1; 7 6 5; 4 3 2] You can multiply a matrix by a scalar: > 2*A Adding matrices A + A will give the same result: > A + A You can even add a number to a matrix: > A % This should add 3 to every entry of A.
Special matrices: N = ones(5,5) O=zeros(2,2) I=eye(3) D=diag(A) Inv(A)
Jacobi method in matrix form If we write D, L, and U for the diagonal, strict lower triangular and strict upper triangular and parts of A, respectively, then Jacobi’s Method can be written in matrix-vector notation as
function x=Jacobi(A,b,n,x0) L=tril(A,-1) U=triu(A,1) d=diag(A) B=-(U+L); g=b; for i=1:n x=(B*x0+g)./d x0=x; end Programing of Jacobi method
Assignment 1 1- Solve the system a- Using \ operator in Matlab. b- Using Jacobi method. Start with x (0) = (0, 0), complete a table like the one below,
2-a) Express the Gauss-Siedel method in matrix form, (upper, lower, and diagonal). 2-b) Write a computer program that applies the Gauss- Siedel method, then solve the previous system of linear equations.