In numerical analysis and linear algebra, LU decomposition (where ‘LU’ stands for ‘lower upper’, and also called LU factorization) factors a matrix as the product of a lower triangular matrix and an upper triangular matrix. Computers usually solve square systems of linear equations using the LU decomposition, and it is also a key step when inverting a matrix, or computing the determinant of a matrix. The LU decomposition was introduced by mathematician Tadeusz Banachiewicz in 1938.
Let A be a square matrix. An LU factorization refers to the factorization of A, with proper row and/or column orderings or permutations, into two factors, a lower triangular matrix L and an upper triangular matrix U, A=LU.
Doolittle Algorithm :
It is always possible to factor a square matrix into a lower triangular matrix and an upper triangular matrix. That is, [A] = [L][U]
Doolittle’s method provides an alternative way to factor A into an LU decomposition without going through the hassle of Gaussian Elimination.
For a general n×n matrix A, we assume that an LU decomposition exists, and write the form of L and U explicitly. We then systematically solve for the entries in L and U from the equations that result from the multiplications necessary for A=LU.
Input : Output :
Lower Triangular Upper Triangular 1 0 0 2 -1 -2 -2 1 0 0 4 -1 -2 -1 1 0 0 3
This article is contributed by Shubham Rana. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Cholesky Decomposition : Matrix Decomposition
- Mathematics | L U Decomposition of a System of Linear Equations
- Shuffle a given array using Fisher–Yates shuffle Algorithm
- Convex Hull | Set 1 (Jarvis's Algorithm or Wrapping)
- Flood fill Algorithm - how to implement fill() in paint?
- Greedy Algorithm for Egyptian Fraction
- Euclid's Algorithm when % and / operations are costly
- Pollard's Rho Algorithm for Prime Factorization
- Hungarian Algorithm for Assignment Problem | Set 1 (Introduction)
- Find Square Root under Modulo p | Set 2 (Shanks Tonelli algorithm)
- Stein's Algorithm for finding GCD
- Discrete Cosine Transform (Algorithm and Program)
- Banker's Algorithm in Operating System
- Tomohiko Sakamoto's Algorithm- Finding the day of the week
- Freivald’s Algorithm to check if a matrix is product of two
- Booth’s Multiplication Algorithm
- Computer Organization | Booth's Algorithm
- Strassen’s Matrix Multiplication Algorithm | Implementation
- Saddleback Search Algorithm in a 2D array
- Algorithm to generate positive rational numbers