A =  ⌈  a₁  a₂  ⌉ 
⌊  b₁  b₂  ⌋ 
LU Decomposition Calculator
Welcome to Omni's LU decomposition calculator! Here you can determine the LU decompositions, learn what the LU decomposition is, and what its applications are. Moreover, we discuss when the LU decomposition exists (LU decomposition problems), and teach you how to find the LU decomposition by hand.
What is the LU decomposition?
To decompose (or factorize) a matrix means to write the matrix as a product of two or more matrices. This can significantly simplify some matrix operations because the matrices into which we decompose the original matrix have special properties, and so we can easily perform various operations on them rather than on the original matrix. Examples of popular matrix decompositions include the LU decomposition, which we deal with here, and the QR decomposition.
The LU decomposition factors a square matrix A
into the product of two matrices:
A = LU
where,
L
is a lower triangular matrix (all elements above the diagonal are zero); andU
is an upper triangular matrix (all the elements below the diagonal are zero).
Do you know that... ...it was the Polish mathematician Tadeusz Banachiewicz who introduced the LU decomposition in 1938. 
Does the LU decomposition always exist? LU decomposition problems
Do you think it would be all too perfect if we could take any square matrix and write it as the product of a lower and upper triangular matrices? You're right, it may happen that a matrix does not admit an LU decomposition. For instance, let's take a look at the following 2x2 matrix:
⌈  0  1  ⌉ 
⌊  2  3  ⌋ 
and try to write it as a product of a lowertriangular and uppertriangular matrices:
⌈  0  1  ⌉  =  ⌈  l₁₁  0  ⌉  ⌈  u₁₁  u₁₂  ⌉ 
⌊  2  3  ⌋  ⌊  l₂₁  l₂₂  ⌋  ⌊  0  u₂₂  ⌋ 
We see that the following equality needs to hold:
l₁₁ * u₁₁ = 0
which implies that l₁₁ = 0
or u₁₁ = 0
. Next, however, we have the following equalities:
l₁₁ * u₁₂ = 1
l₂₁ * u₁₁ = 2
which imply that neither l₁₁ = 0
nor u₁₁ = 0
can hold. Hence, there is a contradiction with the assumption that our matrix can be written as a product of a lower and upper triangular matrix. However, once we permute it rows, we arrive at
⌈  2  3  ⌉ 
⌊  0  1  ⌋ 
which is an uppertriangular matrix! Hence, the LU decomposition is trivial:
⌈  2  3  ⌉  =  ⌈  1  0  ⌉  ⌈  2  3  ⌉ 
⌊  0  1  ⌋  ⌊  0  1  ⌋  ⌊  0  1  ⌋ 
It turns out that even if the LU decomposition is not possible for a square matrix, there always exists a permutation of rows of the matrix such that the LU factorization is achievable for this permuted matrix. This is called LU factorization with partial pivoting and can be written as
PA = LU
where,
P
is a permutation matrix (it reorders the rows ofA
);L
is a lower triangular matrix; andU
is an upper triangular matrix.
How to find the LU decomposition?
For a general n × n
matrix A, we assume that the factorization follows the below LU decomposition formula
A = LU
which exists and we can write it down explicitly. For instance, for a 3x3
matrix we have:
As you can see, there are more unknowns on the lefthand side of the equation than on the righthand side, so some of them can be set to any nonzero value. It's common to set all the entries of the main diagonal of the lower triangular matrix to ones (such a matrix is called a unit triangular matrix):
Now, we write down the system of linear equations implied by the standard matrix multiplication procedure and solve for the remaining unknown entries of L
and U
.
In our LU decomposition example we have:
1: a_{11} = 1 * u_{11}
2: a_{12} = 1 * u_{12}
3: a_{13} = 1 * u_{13}
4: a_{21} = l_{21} * u_{11}
5: a_{22} = l_{21} * u_{12} + 1 * u_{22}
6: a_{23} = l_{21} * u_{13} + 1 * u_{23}
7: a_{31} = l_{31} * u_{11}
8: a_{32} = l_{31} * u_{12} + l_{32} * u_{₂₂}
9: a_{33} = l_{31} * u_{13} + l_{32} * u_{23} + 1 * u_{33}
Clearly, from the first three equations we immediately get the values of u_{11}
, u_{12}
and u_{13}
, which we then plug into the remaining equations. The 4th and 7th equations allow us to find l_{21}
and l_{31}
, then 5th and 6th give the values of u_{22}
and u₂₃
. Finally, the last two equations will produce the solutions for l₃₂
and u_{33}
.
As you can see, for small matrices it's not hard to write down the system and solve it. For larger matrices, however, it's more convenient to have a bunch of ready formulas for the coefficients of L
and U
. Here they are for an n x n
matrix:

Find the first row of
U
and the first column ofL
. For eachj = 1, ... , n
we have 
Next, for each
i = 1, ... , n1
we have 
Finally, we can determine the last entry of
U
:
How to use this LU decomposition calculator?
As we have seen in the previous section, finding LU decompositions can be difficult, or at least timeconsuming, especially for larger matrices. Thankfully, Omni's LU decomposition calculator is here to help you save some time, which you may then spend reading to your heart's content! 😀
To quickly determine the LU decomposition with the help of our LU decomposition calculator, follow these steps:
 Choose the size of the matrix you want to find the LU decomposition of.
 Enter the coefficients of your matrix into the respective fields of the LU decomposition calculator.
 If your matrix admits an LU decomposition, the calculator will display it. Otherwise, a warning message will appear. Permute the rows of your matrix and try again.
 You can adjust the precision with which this LU decomposition calculator operates. Go to the
advanced mode
and change theprecision
field according to your need. By default, 3 significant figures are displayed.
Applications of the LU decomposition
As we can see, the LU decomposition factors a matrix into two triangular matrices which can be quickly done with our LU decomposition solver. Triangular matrices are very friendly to work with, e.g., when it comes to:
Let's discuss in more detail how the LU decomposition helps to find determinants. Recall that:
 The determinant of a triangular matrix is the product of the diagonal entries; and
 The determinant of a product of matrices is the product of determinants of these matrices (we say that the determinant is multiplicative)
Therefore, if we need to find det(A)
and we know the LU decomposition A = LU
, then
det(A) = det(L) * det(U)
and so:
det(A) = l_{11} * ... * l_{nn} * u_{11} * ... * u_{nn}
where,
l_{11}, ... , l_{nn}
are the diagonal entries ofL
; andu_{11}, ... , u_{nn}
are the diagonal entries ofU
.