A New Coding Method in MATLAB Used for Solving a System of N Linear Equations by LU Decomposition

Total Page:16

File Type:pdf, Size:1020Kb

A New Coding Method in MATLAB Used for Solving a System of N Linear Equations by LU Decomposition International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 02 Issue: 02 | May-2015 www.irjet.net p-ISSN: 2395-0072 A new Coding method in MATLAB used for solving a System of n Linear Equations by LU Decomposition Digvijay Singh1, Dr L. N. Das2 1 2Department of Applied Mathematics,Delhi Technological University,Shahabad Daulatpur, Delhi,INDIA [email protected] ---------------------------------------------------------------------***--------------------------------------------------------------------- Abstract - MATLAB coding which we have executed is 1.2 Required Concepts not restricted to LU Decomposition only; rather it can be 2.1Rank -The rank of a matrix A is the size of the largest used for the matrix computation operations such as collection of linearly independent columns of Cholesky method etc. In the existing MATLAB coding, to 2.2Coefficient Matrix - The coefficient matrix refers to a solve a system of n linear equations using LU Decomposition, matrix consisting of the coefficients of the variables in a a pivot matrix is used to reassign the largest element of each set of linear equation. column to the principal diagonal in the coefficient matrix. 2.3Augmented Matrix -An augmented matrix is a matrix Whereas in our MATLAB coding the pivot matrix is not obtained by appending the columns of coefficient matrix required. In this paper we have executed a MATLAB coding with the constant matrix, usually for the purpose of for the solution of a system of n linear equations using LU performing the same elementary row operations on each Decomposition of the given matrices. Key Words: LU decomposition 2.4Inverse of a Matrix -For a square matrix A, the inverse 1.1 Introduction is written A-1. When A is multiplied by A-1 the result is the MATLAB is a highly resourceful and useful tool used identity matrix I. Non-square matrices do not have by a majority of the academic community to create inverses. Not all square matrices have inverses. models, simulations and solve many problems from 2.5Zero Matrix -A zero matrix is the additive identity of the fields of engineering, science and mathematics. It the additive group of matrices. is particularly known for its ease in handling arrays and matrices. A lot of in-built functions are provided 2.6Identity Matrix -A square matrix in which all the to make computation easy. elements of the principal diagonal are ones and all other elements are zeros. The effect of multiplying a given In this paper, we have defined a MATLAB coding that matrix by an identity matrix is to leave the given matrix is useful to solve a system of n linear equations with unchanged. n variables. In the literature[1], we find that a matrix called pivot matrix is used to obtain the solution 2.7 Positive Definite Matrix - Asymmetricn accordingly. In the pivot matrix multiplication, the xnrealmatrixA is said to be positive definite if zTAz is main aim is to rearrange the columns elements of the positive for every non-zero column vectorz of n real coefficient matrix, so that the largest element of each numbers. Here zT denotes the transpose of z. column falls on the principal diagonal. This pivotization is more time taking. We suggest a new 2.8Matrix Multiplication - method to overcome these difficulties. In this paper, we have presented the brief definition and MATLAB Let Am x p and Bp x n be two matrices whose elements are coding of the LU Decomposition of the coefficient represented by, matrix of the linear equations, and using this decomposition have found the solution of the system A = [aij] & B = [bij] for i = 1,2,3,… m and j = 1,2,3,... n. of equations. Then their matrix product is given by[2], C = a * b ij ik kj © 2015, IRJET.NET- All Rights Reserved Page 626 International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 02 Issue: 02 | May-2015 www.irjet.net p-ISSN: 2395-0072 2.9System of n Linear Equations – A system of linear equations is a set or collection of equations that are dealt with all together at once. A system of m equations in n variables is defined as, The sufficient condition for a matrix A to be decomposable is positive definiteness. Now, for forming system of equations solvable for unique solution, one of the upper or lower triangular matrices should have 1’s in the diagonal elements. whereaij, bi, are real numbers and xj are variables for i = 1,2,…,m, j = 1,2,…,n. In matrix notation it is represented as, AX = b If upper triangular matrix, U has diagonal elements as 1, it is called Crout’s Method. Three cases arise to the solution of this system of equations: If lower triangular matrix, L has diagonal elements as 1, it is called Doolittle’s Method. AX = B 1. Unique solution 2. Infinite solutions Let A = LU 3. No solution LUX = B The uniqueness of the solution ofthissystem can be seen Let Z = UX using matrix algebra[3] by comparing the rank of the coefficient matrix A and augmented matrix K as follows LZ = B Z = L-1B (where n is the number of variables/unknowns) Here, A is the coefficient matrix, B is the constant matrix, 1. If rank(A) = rank(K) = n, there exists a unique X is the variable matrix (whose elements are to be solution. determined), L is the lower triangular matrix (whose 2. If rank(A) = rank(K) < n, there exist infinitely elements are to be determined) and U is the upper many solutions. triangular matrix (whose elements are to be determined). There are various methods to solve this system of 2.1 MATLAB Functions equations like substitution, cross-multiplication, matrix The following MATLAB functions[5] have been used in algebra methods etc. We concentrate here on LU the below defined coding: Decomposition method. size(X)returns the row and column size of matrix X. 1.3 LU Decomposition Method In LU Decomposition[4], every square matrix A can be zeros(m)defines a square zero matrix of size m. decomposed into a product of a lower triangular matrix L eye(m)defines an identity matrix of size m. and an upper triangular matrix U. A = LU solve(f, x)solves an equation f for variable x. 2.2 MATLAB Codes Below is provided the MATLAB R2014b (version 8.4.0)code written for Crout’s Method. © 2015, IRJET.NET- All Rights Reserved Page 627 International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 02 Issue: 02 | May-2015 www.irjet.net p-ISSN: 2395-0072 1function [ L, U, X ] = LU_Crout( A, b ) 30 end 2 31end 3% Function to find solution of AX = b by Crout's 32 33 4% LU Decomposition method. 34 symstemp; 5% Input = A, b 35 6% Output = L, U, X 36 L = sym(zeros(n(1))); 7 37 U = sym(eye(n(1))); 8 n = size(A); 38 9 39 T = sym(zeros(n(1))); 10 flag = 1; 40 11 41fori = 1:n(1) 12if( n(1) ~= n(2) ) 42 for j = 1:n(1) 13 fprintf('\nNot square matrix\n'); 43 if( i>= j ) 14 flag = 0; 44 L(i,j) = temp; 15 return; 45 elseU(i,j) = temp; 16end 46 end 17 47 for k = 1:n(1) 18if( flag == 1 ) 48 T(i,j) = T(i,j) + L(i,k)*U(k,j); 19 K = [A b]; 49 end 20end 50 eq_ans = solve(T(i,j) == A(i,j), temp); 21 51 T(i,j) = eq_ans; 22if( flag == 1 ) 52 if( i>= j ) 23 if( rank(A) ~= rank(K) ) 53 L(i,j) = T(i,j); 24 fprintf('\nNo solution'); 54 elseU(i,j) = T(i,j); 25 return; 55 end 26 elseif( rank(A) == rank(K) && rank(A) < n(1) ) 56 end 27 fprintf('\nInfinite solutions') 57end 28 return; 58 29 end © 2015, IRJET.NET- All Rights Reserved Page 628 International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395 -0056 Volume: 02 Issue: 02 | May-2015 www.irjet.net p-ISSN: 2395-0072 59 Z = L\b; % Z = inv(L)*b The condition in line 43-46 checks which variable is unknown in the current multiplication iteration. 60 This unknown is replaced by temp in the product equation. 61 X = U\Z; % X = inv(U)*Z Using solve(f, x) where x = temp, we get value of unknown. 62 At each iterative step, the calculated value of unknown is replaced in the L or U matrix. 63end After the final iteration, the unknown elements of L and U are replaced, and they can be used to find 2.3 Explanation of the codes the solution vector X. Line 1 defines a function LU_Crout that takes A In line 59, we find out Z = L-1B using the command Z = (coefficient matrix) and b (constant column vector) as L\B. Similarly, we find out X = U-1Z using the command X inputs, and gives decomposed lower and upper triangular = U\Z. matrices (L&U respectively), as well as X, solution to the system AX = b as output. Thus, solution to the system of equations is obtained.. Lines 8-31 are measures taken to check whether A is a 2.4. Advantages of Proposed method The main advantage of the written coding is to overcome square matrix. If not, then LU Decomposition cannot be the problems existing in the given MATLAB coding. used. These measures also check if the system has a MATLAB cannot currently handle symbolic matrices; unique solution or not, by comparing rank of coefficient rather the coding is supported by symbolic variables.
Recommended publications
  • Conjugate Gradient Method (Part 4)  Pre-Conditioning  Nonlinear Conjugate Gradient Method
    18-660: Numerical Methods for Engineering Design and Optimization Xin Li Department of ECE Carnegie Mellon University Pittsburgh, PA 15213 Slide 1 Overview Conjugate Gradient Method (Part 4) Pre-conditioning Nonlinear conjugate gradient method Slide 2 Conjugate Gradient Method Step 1: start from an initial guess X(0), and set k = 0 Step 2: calculate ( ) ( ) ( ) D 0 = R 0 = B − AX 0 Step 3: update solution D(k )T R(k ) X (k +1) = X (k ) + µ (k )D(k ) where µ (k ) = D(k )T AD(k ) Step 4: calculate residual ( + ) ( ) ( ) ( ) R k 1 = R k − µ k AD k Step 5: determine search direction R(k +1)T R(k +1) (k +1) = (k +1) + β (k ) β = D R k +1,k D where k +1,k (k )T (k ) D R Step 6: set k = k + 1 and go to Step 3 Slide 3 Convergence Rate k ( + ) κ(A) −1 ( ) X k 1 − X ≤ ⋅ X 0 − X κ(A) +1 Conjugate gradient method has slow convergence if κ(A) is large I.e., AX = B is ill-conditioned In this case, we want to improve convergence rate by pre- conditioning Slide 4 Pre-Conditioning Key idea Convert AX = B to another equivalent equation ÃX̃ = B̃ Solve ÃX̃ = B̃ by conjugate gradient method Important constraints to construct ÃX̃ = B̃ à is symmetric and positive definite – so that we can solve it by conjugate gradient method à has a small condition number – so that we can achieve fast convergence Slide 5 Pre-Conditioning AX = B −1 −1 L A⋅ X = L B L−1 AL−T ⋅ LT X = L−1B A X B ̃ ̃ ̃ L−1AL−T is symmetric and positive definite, if A is symmetric and positive definite T (L−1 AL−T ) = L−1 AL−T T X T L−1 AL−T X = (L−T X ) ⋅ A⋅(L−T X )> 0 Slide
    [Show full text]
  • Recursive Approach in Sparse Matrix LU Factorization
    51 Recursive approach in sparse matrix LU factorization Jack Dongarra, Victor Eijkhout and the resulting matrix is often guaranteed to be positive Piotr Łuszczek∗ definite or close to it. However, when the linear sys- University of Tennessee, Department of Computer tem matrix is strongly unsymmetric or indefinite, as Science, Knoxville, TN 37996-3450, USA is the case with matrices originating from systems of Tel.: +865 974 8295; Fax: +865 974 8296 ordinary differential equations or the indefinite matri- ces arising from shift-invert techniques in eigenvalue methods, one has to revert to direct methods which are This paper describes a recursive method for the LU factoriza- the focus of this paper. tion of sparse matrices. The recursive formulation of com- In direct methods, Gaussian elimination with partial mon linear algebra codes has been proven very successful in pivoting is performed to find a solution of Eq. (1). Most dense matrix computations. An extension of the recursive commonly, the factored form of A is given by means technique for sparse matrices is presented. Performance re- L U P Q sults given here show that the recursive approach may per- of matrices , , and such that: form comparable to leading software packages for sparse ma- LU = PAQ, (2) trix factorization in terms of execution time, memory usage, and error estimates of the solution. where: – L is a lower triangular matrix with unitary diago- nal, 1. Introduction – U is an upper triangular matrix with arbitrary di- agonal, Typically, a system of linear equations has the form: – P and Q are row and column permutation matri- Ax = b, (1) ces, respectively (each row and column of these matrices contains single a non-zero entry which is A n n A ∈ n×n x where is by real matrix ( R ), and 1, and the following holds: PPT = QQT = I, b n b, x ∈ n and are -dimensional real vectors ( R ).
    [Show full text]
  • Lecture 5 - Triangular Factorizations & Operation Counts
    Lecture 5 - Triangular Factorizations & Operation Counts LU Factorization We have seen that the process of GE essentially factors a matrix A into LU. Now we want to see how this factorization allows us to solve linear systems and why in many cases it is the preferred algorithm compared with GE. Remember on paper, these methods are the same but computationally they can be different. First, suppose we want to solve A~x = ~b and we are given the factorization A = LU. It turns out that the system LU~x = ~b is \easy" to solve because we do a forward solve L~y = ~b and then back solve U~x = ~y. We have seen that we can easily implement the equations for the back solve and for homework you will write out the equations for the forward solve. Example If 0 2 −1 2 1 0 1 0 0 1 0 2 −1 2 1 A = @ 4 1 9 A = LU = @ 2 1 0 A @ 0 3 5 A 8 5 24 4 3 1 0 0 1 solve the linear system A~x = ~b where ~b = (0; −5; −16)T . ~ We first solve L~y = b to get y1 = 0, 2y1 +y2 = −5 implies y2 = −5 and 4y1 +3y2 +y3 = −16 T implies y3 = −1. Now we solve U~x = ~y = (0; −5; −1) . Back solving yields x3 = −1, 3x2 + 5x3 = −5 implies x2 = 0 and finally 2x1 − x2 + 2x3 = 0 implies x1 = 1 giving the solution (1; 0; −1)T . If GE and LU factorization are equivalent on paper, why would one be computationally advantageous in some settings? Recall that when we solve A~x = ~b by GE we must also multiply the right hand side by the Gauss transformation matrices.
    [Show full text]
  • LU Factorization LU Decomposition LU Decomposition: Motivation LU Decomposition
    LU Factorization LU Decomposition To further improve the efficiency of solving linear systems Factorizations of matrix A : LU and QR A matrix A can be decomposed into a lower triangular matrix L and upper triangular matrix U so that LU Factorization Methods: Using basic Gaussian Elimination (GE) A = LU ◦ Factorization of Tridiagonal Matrix ◦ LU decomposition is performed once; can be used to solve multiple Using Gaussian Elimination with pivoting ◦ right hand sides. Direct LU Factorization ◦ Similar to Gaussian elimination, care must be taken to avoid roundoff Factorizing Symmetrix Matrices (Cholesky Decomposition) ◦ errors (partial or full pivoting) Applications Special Cases: Banded matrices, Symmetric matrices. Analysis ITCS 4133/5133: Intro. to Numerical Methods 1 LU/QR Factorization ITCS 4133/5133: Intro. to Numerical Methods 2 LU/QR Factorization LU Decomposition: Motivation LU Decomposition Forward pass of Gaussian elimination results in the upper triangular ma- trix 1 u12 u13 u1n 0 1 u ··· u 23 ··· 2n U = 0 0 1 u3n . ···. 0 0 0 1 ··· We can determine a matrix L such that LU = A , and l11 0 0 0 l l 0 ··· 0 21 22 ··· L = l31 l32 l33 0 . ···. . l l l 1 n1 n2 n3 ··· ITCS 4133/5133: Intro. to Numerical Methods 3 LU/QR Factorization ITCS 4133/5133: Intro. to Numerical Methods 4 LU/QR Factorization LU Decomposition via Basic Gaussian Elimination LU Decomposition via Basic Gaussian Elimination: Algorithm ITCS 4133/5133: Intro. to Numerical Methods 5 LU/QR Factorization ITCS 4133/5133: Intro. to Numerical Methods 6 LU/QR Factorization LU Decomposition of Tridiagonal Matrix Banded Matrices Matrices that have non-zero elements close to the main diagonal Example: matrix with a bandwidth of 3 (or half band of 1) a11 a12 0 0 0 a21 a22 a23 0 0 0 a32 a33 a34 0 0 0 a43 a44 a45 0 0 0 a a 54 55 Efficiency: Reduced pivoting needed, as elements below bands are zero.
    [Show full text]
  • LU-Factorization 1 Introduction 2 Upper and Lower Triangular Matrices
    MAT067 University of California, Davis Winter 2007 LU-Factorization Isaiah Lankham, Bruno Nachtergaele, Anne Schilling (March 12, 2007) 1 Introduction Given a system of linear equations, a complete reduction of the coefficient matrix to Reduced Row Echelon (RRE) form is far from the most efficient algorithm if one is only interested in finding a solution to the system. However, the Elementary Row Operations (EROs) that constitute such a reduction are themselves at the heart of many frequently used numerical (i.e., computer-calculated) applications of Linear Algebra. In the Sections that follow, we will see how EROs can be used to produce a so-called LU-factorization of a matrix into a product of two significantly simpler matrices. Unlike Diagonalization and the Polar Decomposition for Matrices that we’ve already encountered in this course, these LU Decompositions can be computed reasonably quickly for many matrices. LU-factorizations are also an important tool for solving linear systems of equations. You should note that the factorization of complicated objects into simpler components is an extremely common problem solving technique in mathematics. E.g., we will often factor a polynomial into several polynomials of lower degree, and one can similarly use the prime factorization for an integer in order to simply certain numerical computations. 2 Upper and Lower Triangular Matrices We begin by recalling the terminology for several special forms of matrices. n×n A square matrix A =(aij) ∈ F is called upper triangular if aij = 0 for each pair of integers i, j ∈{1,...,n} such that i>j. In other words, A has the form a11 a12 a13 ··· a1n 0 a22 a23 ··· a2n A = 00a33 ··· a3n .
    [Show full text]
  • Hybrid Algorithms for Efficient Cholesky Decomposition And
    Hybrid Algorithms for Efficient Cholesky Decomposition and Matrix Inverse using Multicore CPUs with GPU Accelerators Gary Macindoe A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy of UCL. 2013 ii I, Gary Macindoe, confirm that the work presented in this thesis is my own. Where information has been derived from other sources, I confirm that this has been indicated in the thesis. Signature : Abstract The use of linear algebra routines is fundamental to many areas of computational science, yet their implementation in software still forms the main computational bottleneck in many widely used algorithms. In machine learning and computational statistics, for example, the use of Gaussian distributions is ubiquitous, and routines for calculating the Cholesky decomposition, matrix inverse and matrix determinant must often be called many thousands of times for com- mon algorithms, such as Markov chain Monte Carlo. These linear algebra routines consume most of the total computational time of a wide range of statistical methods, and any improve- ments in this area will therefore greatly increase the overall efficiency of algorithms used in many scientific application areas. The importance of linear algebra algorithms is clear from the substantial effort that has been invested over the last 25 years in producing low-level software libraries such as LAPACK, which generally optimise these linear algebra routines by breaking up a large problem into smaller problems that may be computed independently. The performance of such libraries is however strongly dependent on the specific hardware available. LAPACK was originally de- veloped for single core processors with a memory hierarchy, whereas modern day computers often consist of mixed architectures, with large numbers of parallel cores and graphics process- ing units (GPU) being used alongside traditional CPUs.
    [Show full text]
  • Matrix Inversion Using Cholesky Decomposition
    Matrix Inversion Using Cholesky Decomposition Aravindh Krishnamoorthy, Deepak Menon ST-Ericsson India Private Limited, Bangalore [email protected], [email protected] Abstract—In this paper we present a method for matrix inversion Upper triangular elements, i.e. : based on Cholesky decomposition with reduced number of operations by avoiding computation of intermediate results; further, we use fixed point simulations to compare the numerical ( ∑ ) accuracy of the method. … (4) Keywords-matrix, inversion, Cholesky, LDL. Note that since older values of aii aren’t required for computing newer elements, they may be overwritten by the I. INTRODUCTION value of rii, hence, the algorithm may be performed in-place Matrix inversion techniques based on Cholesky using the same memory for matrices A and R. decomposition and the related LDL decomposition are efficient Cholesky decomposition is of order and requires techniques widely used for inversion of positive- operations. Matrix inversion based on Cholesky definite/symmetric matrices across multiple fields. decomposition is numerically stable for well conditioned Existing matrix inversion algorithms based on Cholesky matrices. decomposition use either equation solving [3] or triangular matrix operations [4] with most efficient implementation If , with is the linear system with requiring operations. variables, and satisfies the requirement for Cholesky decomposition, we can rewrite the linear system as In this paper we propose an inversion algorithm which … (5) reduces the number of operations by 16-17% compared to the existing algorithms by avoiding computation of some known By letting , we have intermediate results. … (6) In section 2 of this paper we review the Cholesky and LDL decomposition techniques, and discuss solutions to linear and systems based on them.
    [Show full text]
  • LU, QR and Cholesky Factorizations Using Vector Capabilities of Gpus LAPACK Working Note 202 Vasily Volkov James W
    LU, QR and Cholesky Factorizations using Vector Capabilities of GPUs LAPACK Working Note 202 Vasily Volkov James W. Demmel Computer Science Division Computer Science Division and Department of Mathematics University of California at Berkeley University of California at Berkeley Abstract GeForce Quadro GeForce GeForce GPU name We present performance results for dense linear algebra using 8800GTX FX5600 8800GTS 8600GTS the 8-series NVIDIA GPUs. Our matrix-matrix multiply routine # of SIMD cores 16 16 12 4 (GEMM) runs 60% faster than the vendor implementation in CUBLAS 1.1 and approaches the peak of hardware capabilities. core clock, GHz 1.35 1.35 1.188 1.458 Our LU, QR and Cholesky factorizations achieve up to 80–90% peak Gflop/s 346 346 228 93.3 of the peak GEMM rate. Our parallel LU running on two GPUs peak Gflop/s/core 21.6 21.6 19.0 23.3 achieves up to ~300 Gflop/s. These results are accomplished by memory bus, MHz 900 800 800 1000 challenging the accepted view of the GPU architecture and memory bus, pins 384 384 320 128 programming guidelines. We argue that modern GPUs should be viewed as multithreaded multicore vector units. We exploit bandwidth, GB/s 86 77 64 32 blocking similarly to vector computers and heterogeneity of the memory size, MB 768 1535 640 256 system by computing both on GPU and CPU. This study flops:word 16 18 14 12 includes detailed benchmarking of the GPU memory system that Table 1: The list of the GPUs used in this study. Flops:word is the reveals sizes and latencies of caches and TLB.
    [Show full text]
  • AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 3: Positive-Definite Systems; Cholesky Factorization
    AMS526: Numerical Analysis I (Numerical Linear Algebra) Lecture 3: Positive-Definite Systems; Cholesky Factorization Xiangmin Jiao Stony Brook University Xiangmin Jiao Numerical Analysis I 1 / 11 Symmetric Positive-Definite Matrices n×n Symmetric matrix A 2 R is symmetric positive definite (SPD) if T n x Ax > 0 for x 2 R nf0g n×n Hermitian matrix A 2 C is Hermitian positive definite (HPD) if ∗ n x Ax > 0 for x 2 C nf0g SPD matrices have positive real eigenvalues and orthogonal eigenvectors Note: Most textbooks only talk about SPD or HPD matrices, but a positive-definite matrix does not need to be symmetric or Hermitian! A real matrix A is positive definite iff A + AT is SPD T n If x Ax ≥ 0 for x 2 R nf0g, then A is said to be positive semidefinite Xiangmin Jiao Numerical Analysis I 2 / 11 Properties of Symmetric Positive-Definite Matrices SPD matrix often arises as Hessian matrix of some convex functional I E.g., least squares problems; partial differential equations If A is SPD, then A is nonsingular Let X be any n × m matrix with full rank and n ≥ m. Then T I X X is symmetric positive definite, and T I XX is symmetric positive semidefinite n×m If A is n × n SPD and X 2 R has full rank and n ≥ m, then X T AX is SPD Any principal submatrix (picking some rows and corresponding columns) of A is SPD and aii > 0 Xiangmin Jiao Numerical Analysis I 3 / 11 Cholesky Factorization If A is symmetric positive definite, then there is factorization of A A = RT R where R is upper triangular, and all its diagonal entries are positive Note: Textbook calls is “Cholesky
    [Show full text]
  • 1. Positive Definite Matrices a Matrix a Is Positive Definite If X>Ax > 0 for All Nonzero X
    CME 302: NUMERICAL LINEAR ALGEBRA FALL 2005/06 LECTURE 8 GENE H. GOLUB 1. Positive Definite Matrices A matrix A is positive definite if x>Ax > 0 for all nonzero x. A positive definite matrix has real and positive eigenvalues, and its leading principal submatrices all have positive determinants. From the definition, it is easy to see that all diagonal elements are positive. To solve the system Ax = b where A is positive definite, we can compute the Cholesky decom- position A = F >F where F is upper triangular. This decomposition exists if and only if A is symmetric and positive definite. In fact, attempting to compute the Cholesky decomposition of A is an efficient method for checking whether A is symmetric positive definite. It is important to distinguish the Cholesky decomposition from the square root factorization.A square root of a matrix A is defined as a matrix S such that S2 = SS = A. Note that the matrix F in A = F >F is not the square root of A, since it does not hold that F 2 = A unless A is a diagonal matrix. The square root of a symmetric positive definite A can be computed by using the fact that A has an eigendecomposition A = UΛU > where Λ is a diagonal matrix whose diagonal elements are the positive eigenvalues of A and U is an orthogonal matrix whose columns are the eigenvectors of A. It follows that A = UΛU > = (UΛ1/2U >)(UΛ1/2U >) = SS and so S = UΛ1/2U > is a square root of A. 2. The Cholesky Decomposition The Cholesky decomposition can be computed directly from the matrix equation A = F >F .
    [Show full text]
  • Cholesky Decomposition 1 Cholesky Decomposition
    Cholesky decomposition 1 Cholesky decomposition In linear algebra, the Cholesky decomposition or Cholesky triangle is a decomposition of a symmetric, positive-definite matrix into the product of a lower triangular matrix and its conjugate transpose. It was discovered by André-Louis Cholesky for real matrices and is an example of a square root of a matrix. When it is applicable, the Cholesky decomposition is roughly twice as efficient as the LU decomposition for solving systems of linear equations.[1] Statement If A has real entries and is symmetric (or more generally, is Hermitian) and positive definite, then A can be decomposed as where L is a lower triangular matrix with strictly positive diagonal entries, and L* denotes the conjugate transpose of L. This is the Cholesky decomposition. The Cholesky decomposition is unique: given a Hermitian, positive-definite matrix A, there is only one lower triangular matrix L with strictly positive diagonal entries such that A = LL*. The converse holds trivially: if A can be written as LL* for some invertible L, lower triangular or otherwise, then A is Hermitian and positive definite. The requirement that L have strictly positive diagonal entries can be dropped to extend the factorization to the positive-semidefinite case. The statement then reads: a square matrix A has a Cholesky decomposition if and only if A is Hermitian and positive semi-definite. Cholesky factorizations for positive-semidefinite matrices are not unique in general. In the special case that A is a symmetric positive-definite matrix with real entries, L can be assumed to have real entries as well.
    [Show full text]
  • LU and Cholesky Decompositions. J. Demmel, Chapter 2.7
    LU and Cholesky decompositions. J. Demmel, Chapter 2.7 1/14 Gaussian Elimination The Algorithm — Overview Solving Ax = b using Gaussian elimination. 1 Factorize A into A = PLU Permutation Unit lower triangular Non-singular upper triangular 2/14 Gaussian Elimination The Algorithm — Overview Solving Ax = b using Gaussian elimination. 1 Factorize A into A = PLU Permutation Unit lower triangular Non-singular upper triangular 2 Solve PLUx = b (for LUx) : − LUx = P 1b 3/14 Gaussian Elimination The Algorithm — Overview Solving Ax = b using Gaussian elimination. 1 Factorize A into A = PLU Permutation Unit lower triangular Non-singular upper triangular 2 Solve PLUx = b (for LUx) : − LUx = P 1b − 3 Solve LUx = P 1b (for Ux) by forward substitution: − − Ux = L 1(P 1b). 4/14 Gaussian Elimination The Algorithm — Overview Solving Ax = b using Gaussian elimination. 1 Factorize A into A = PLU Permutation Unit lower triangular Non-singular upper triangular 2 Solve PLUx = b (for LUx) : − LUx = P 1b − 3 Solve LUx = P 1b (for Ux) by forward substitution: − − Ux = L 1(P 1b). − − 4 Solve Ux = L 1(P 1b) by backward substitution: − − − x = U 1(L 1P 1b). 5/14 Example of LU factorization We factorize the following 2-by-2 matrix: 4 3 l 0 u u = 11 11 12 . (1) 6 3 l21 l22 0 u22 One way to find the LU decomposition of this simple matrix would be to simply solve the linear equations by inspection. Expanding the matrix multiplication gives l11 · u11 + 0 · 0 = 4, l11 · u12 + 0 · u22 = 3, (2) l21 · u11 + l22 · 0 = 6, l21 · u12 + l22 · u22 = 3.
    [Show full text]