# LU Decomposition Calculator

Created by Anna Szczepanek, PhD
Reviewed by Dominik Czernia, PhD and Jack Bowater
Last updated: Jan 19, 2023

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 does it mean to decompose a matrix?

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. To discover matrix decompositions other than the LU decomposition discussed here, visit our QR decomposition calculator, the Cholesky decomposition calculator, and the singular value decomposition (SVD).

## What is the LU 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); and
• U is an upper triangular matrix (all the elements below the diagonal are zero).

💡 Did 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:

$\footnotesize \begin{bmatrix} 0 & 1 \\ 2 & 3 \\ \end{bmatrix}$

and try to write it as a product of a lower-triangular and upper-triangular matrices:

$\footnotesize \begin{bmatrix} 0 & 1 \\ 2 & 3 \\ \end{bmatrix} = \begin{bmatrix} \ell_{11} & 0 \\ \ell_{21} & \ell_{22} \\ \end{bmatrix} \cdot \begin{bmatrix} u_{11} & u_{12} \\ 0 & u_{22} \\ \end{bmatrix}$

We see that the following equality needs to hold:

$\footnotesize \ell_{11} \cdot u_{11} = 0$

which implies that either $\ell_{11} = 0$ or $u_{11} = 0$. Next, however, we have the following equalities:

\footnotesize \begin{aligned} &\text{1) }\ell_{11} \cdot u_{12} = 1 \\ &\text{2) }\ell_{21} \cdot u_{11} = 2 \\ \end{aligned}

which imply that neither $\ell_{11} = 0$ nor $u_{11}=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

$\footnotesize \begin{bmatrix} 2 & 3 \\ 0 & 1 \\ \end{bmatrix}$

which is an upper-triangular matrix! Hence, the LU decomposition is trivial:

$\footnotesize \begin{bmatrix} 2 & 3 \\ 0 & 1 \\ \end{bmatrix} = \begin{bmatrix} 1 & 0 \\ 0 & 1 \\ \end{bmatrix} \cdot \begin{bmatrix} 2 & 3 \\ 0 & 1 \\ \end{bmatrix}$

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

$\footnotesize PA = LU$

where

• $P$ is a permutation matrix (it reorders the rows of $A$);
• $L$ is a lower triangular matrix; and
• $U$ 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 $3\times3$ matrix, we have:

\footnotesize \begin{aligned} & \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \\ \end{bmatrix} \\[15pt] =& \begin{bmatrix} \ell_{11} & 0 & 0 \\ \ell_{21} & \ell_{22} & 0 \\ \ell_{31} & \ell_{32} & \ell_{33} \\ \end{bmatrix} \!\cdot\! \begin{bmatrix} u_{11} & u_{12} & u_{13} \\ 0 & u_{22} & u_{23} \\ 0 & 0 & u_{33} \\ \end{bmatrix}

\end{aligned}

As you can see, there are more unknowns on the left-hand side of the equation than on the right-hand side, so some of them can be set to any non-zero 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):

\footnotesize \begin{aligned} & \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \\ \end{bmatrix} \\[15pt] =& \begin{bmatrix} 1 & 0 & 0 \\ \ell_{21} & 1 & 0 \\ \ell_{31} & \ell_{32} & 1 \\ \end{bmatrix} \!\cdot\! \begin{bmatrix} u_{11} & u_{12} & u_{13} \\ 0 & u_{22} & u_{23} \\ 0 & 0 & u_{33} \\ \end{bmatrix}

\end{aligned}

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:

\footnotesize \begin{aligned} \text{1) } a_{11} &= 1 \cdot u_{11}\\ \text{2) } a_{12} &= 1 \cdot u_{12}\\ \text{3) } a_{13} &= 1 \cdot u_{13}\\ \text{4) } a_{21} &= \ell_{21} \cdot u_{11}\\ \text{5) } a_{22} &= \ell_{21} \cdot u_{12} + 1 \cdot u_{22} \\ \text{6) } a_{23} &= \ell_{21} \cdot u_{13} + 1 \cdot u_{23} \\ \text{7) } a_{31} &= \ell_{31} \cdot u_{11} \\ \text{8) } a_{32} &= \ell_{31} \cdot u_{12} + \ell_{32} \cdot u_{22} \\ \text{9) } a_{33} &= \ell_{31} \cdot u_{13} + \ell_{32} \cdot u_{23} + 1 \cdot u_{33} \end{aligned}

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 $\ell_{21}$ and $\ell_{31}$. Then, the 5th and 6th equations give the values of $u_{22}$ and $u_{23}$. Finally, the last two equations will produce the solutions for $\ell_{32}$ 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\times n$ matrix:

1. Find the first row of $U$ and the first column of $L$. For each $j = 1, ... , n$, we have
\footnotesize \qquad \begin{aligned} u_{1j} &= a_{1j} \\ \ell_{j1} &= a_{j1} / u_{1j} \end{aligned}
1. Next, for each $i = 1, ... , n-1$, we have
\footnotesize \qquad \begin{aligned} u_{ii} =&\ a_{ii} - \sum_{p=1}^{i-1} \ell_{ip} u_{pi} \\ u_{ij} =&\ a_{ij} - \sum_{p=1}^{i-1}\ell_{ip} u_{pj} \\ &\quad \text{for } j = i+1, ..., n \\ \ell_{ji} =&\ \frac{1}{u_{ii}} \left( a_{ji} - \sum_{p=1}^{i-1} \ell_{jp}u_{pi}\right)\\ &\quad \text{for } j = i+1, ..., n \\ \end{aligned}
1. Finally, we can determine the last entry of $U$:
$\footnotesize \qquad u_{nn} = a_{nn} - \sum_{p=1}^{n-1} \ell_{np} u_{pn}$

## How to use this LU decomposition calculator?

As we have seen in the previous section, finding LU decompositions can be difficult, or at least time-consuming, especially for larger matrices. Thankfully, Omni's LU decomposition calculator is here to help you save some time, which you may then spend chilling out! 😀

To quickly determine the LU decomposition with the help of our LU decomposition calculator, follow these steps:

1. Choose the size of the matrix you want to find the LU decomposition of.
2. Enter the coefficients of your matrix into the respective fields of the LU decomposition calculator.
3. 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.
4. You can adjust the precision with which this LU decomposition calculator operates. Go to the advanced mode and change the precision 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:

• Calculating matrix determinant;
• Finding inverse matrices; and
• Solving systems of linear equations.

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

\footnotesize \begin{aligned} \det(A) &= \det(L) \cdot \det(U) \\ &= (\ell_{11} \cdot ... \cdot \ell_{nn})( u_{11} \cdot ... \cdot u_{nn} ) \\ \end{aligned}

where,

• $\ell_{11} \cdot ... \cdot \ell_{nn}$ are the diagonal entries of $L$; and
• $u_{11} \cdot ... \cdot u_{nn}$ are the diagonal entries of $U$.

## FAQ

### Does every square matrix have an LU decomposition?

No, some square matrices do not have an LU decomposition. However, it is always possible to permute the rows of a square matrix in such a way that after this permutation it will have an LU decomposition.