# Triangular matrix

Template:Distinguish2 {{#invoke:Hatnote|hatnote}}

In the mathematical discipline of linear algebra, a **triangular matrix** is a special kind of square matrix. A square matrix is called **lower triangular** if all the entries *above* the main diagonal are zero. Similarly, a square matrix is called **upper triangular** if all the entries *below* the main diagonal are zero. A triangular matrix is one that is either lower triangular or upper triangular. A matrix that is both upper and lower triangular is called a diagonal matrix.

Because matrix equations with triangular matrices are easier to solve, they are very important in numerical analysis. By the LU decomposition algorithm, an invertible matrix may be written as the product of a lower triangular matrix *L* and an upper triangular matrix *U* if and only if all its leading principal minors are non-zero.

## Description

A matrix of the form

is called a **lower triangular matrix** or **left triangular matrix**, and analogously a matrix of the form

is called an **upper triangular matrix** or **right triangular matrix**. The variable *L* (standing for lower or left) is commonly used to represent a lower triangular matrix, while the variable *U* (standing for upper) or *R* (standing for right) is commonly used for upper triangular matrix. A matrix that is both upper and lower triangular is diagonal.

Matrices that are similar to triangular matrices are called **triangularisable**.

Many operations on upper triangular matrices preserve the shape:

- The sum of two upper triangular matrices is upper triangular.
- The product of two upper triangular matrices is upper triangular.
- The inverse of an invertible upper triangular matrix is upper triangular.
- The product of an upper triangular matrix by a constant is an upper triangular matrix.

Together these facts mean that the upper triangular matrices form a subalgebra of the associative algebra of square matrices for a given size. Additionally, this also shows that the upper triangular matrices can be viewed as a Lie subalgebra of the Lie algebra of square matrices of a fixed size, where the Lie bracket [*a*,*b*] given by the commutator *ab-ba*. The Lie algebra of all upper triangular matrices is often referred to as a Borel subalgebra of the Lie algebra of all square matrices.

All these results hold if "upper triangular" is replaced by "lower triangular" throughout; in particular the lower triangular matrices also form a Lie algebra. However, operations mixing upper and lower triangular matrices do not in general produce triangular matrices. For instance, the sum of an upper and a lower triangular matrix can be any matrix; the product of a lower triangular with an upper triangular matrix is not necessarily triangular either.

### Examples

This matrix

is upper triangular and this matrix

is lower triangular.

## Special forms

### Unitriangular matrix

If the entries on the main diagonal of a (upper or lower) triangular matrix are all 1, the matrix is called (upper or lower) **unitriangular**. All unitriangular matrices are unipotent. Other names used for these matrices are **unit** (upper or lower) **triangular** (of which "unitriangular" might be a contraction)Template:Fact, or very rarely **normed** (upper or lower) **triangular**. However a *unit* triangular matrix is not the same as **the** *unit matrix*, and a *normed* triangular matrix has nothing to do with the notion of matrix norm. The identity matrix is the only matrix which is both upper and lower unitriangular.

The set of unitriangular matrices forms a Lie group.

### Strictly triangular matrix

If the entries on the main diagonal of a (upper or lower) triangular matrix are all 0, the matrix is called **strictly** (upper or lower) **triangular**. All strictly triangular matrices are nilpotent, and the set of strictly upper (or lower) triangular matrices forms a nilpotent Lie algebra, denoted This algebra is the derived Lie algebra of , the Lie algebra of all upper triangular matrices; in symbols, In addition, is the Lie algebra of the Lie group of unitriangular matrices.

In fact, by Engel's theorem, any finite-dimensional nilpotent Lie algebra is conjugate to a subalgebra of the strictly upper triangular matrices, that is to say, a finite-dimensional nilpotent Lie algebra is simultaneously strictly upper triangularizable.

### Atomic triangular matrix

An **atomic** (upper or lower) **triangular matrix** is a special form of unitriangular matrix, where all of the off-diagonal entries are zero, except for the entries in a single column. Such a matrix is also called a **Gauss matrix** or a **Gauss transformation matrix**. So an atomic lower triangular matrix is of the form

The inverse of an **atomic** triangular matrix is again atomic triangular. Indeed, we have

i.e., the off-diagonal entries are replaced in the inverse matrix by their additive inverses.

#### Examples

The matrix

is atomic lower triangular. Its inverse is

## Special properties

A matrix which is simultaneously triangular and normal is also diagonal. This can be seen by looking at the diagonal entries of *A*^{*}*A* and *AA*^{*}, where *A* is a normal, triangular matrix.

The transpose of an upper triangular matrix is a lower triangular matrix and vice versa.

The determinant of a triangular matrix equals the product of the diagonal entries. Since for any triangular matrix *A* the matrix , whose determinant is the characteristic polynomial of *A*, is also triangular, the diagonal entries of *A* in fact give the multiset of eigenvalues of *A* (an eigenvalue with multiplicity *m* occurs exactly *m* times as diagonal entry).^{[1]}

## Triangularisability

A matrix that is similar to a triangular matrix is referred to as **triangularisable**. Abstractly, this is equivalent to stabilising a flag: upper triangular matrices are precisely those that preserve the standard flag, which is given by the standard ordered basis and the resulting flag All flags are conjugate (as the general linear group acts transitively on bases), so any matrix that stabilises a flag is similar to one that stabilises the standard flag.

Any complex square matrix is triangularisable.^{[1]} In fact, a matrix *A* over a field containing all of the eigenvalues of *A* (for example, any matrix over an algebraically closed field) is similar to a triangular matrix. This can be proven by using induction on the fact that *A* has an eigenvector, by taking the quotient space by the eigenvector and inducting to show that *A* stabilises a flag, and is thus triangularisable with respect to a basis for that flag.

A more precise statement is given by the Jordan normal form theorem, which states that in this situation, *A* is similar to an upper triangular matrix of a very particular form. The simpler triangularization result is often sufficient however, and in any case used in proving the Jordan normal form theorem.^{[1]}^{[2]}

In the case of complex matrices, it is possible to say more about triangularisation, namely, that any square matrix *A* has a Schur decomposition. This means that *A* is unitarily equivalent (i.e. similar, using a unitary matrix as change of basis) to an upper triangular matrix; this follows by taking an Hermitian basis for the flag.

### Simultaneous triangularisability

{{#invoke:see also|seealso}}
A set of matrices are said to be **Template:Visible anchor** if there is a basis under which they are all upper triangular; equivalently, if they are upper triangularizable by a single similarity matrix *P.* Such a set of matrices is more easily understood by considering the algebra of matrices it generates, namely all polynomials in the denoted Simultaneous triangularizability means that this algebra is conjugate into the Lie subalgebra of upper triangular matrices, and is equivalent to this algebra being a Lie subalgebra of a Borel subalgebra.

The basic result is that (over an algebraically closed field), the commuting matrices or more generally are simultaneously triangularizable. This can be proven by first showing that commuting matrices have a common eigenvector, and then inducting on dimension as before. This was proven by Frobenius, starting in 1878 for a commuting pair, as discussed at commuting matrices. As for a single matrix, over the complex numbers these can be triangularized by unitary matrices.

The fact that commuting matrices have a common eigenvector can be interpreted as a result of Hilbert's Nullstellensatz: commuting matrices form a commutative algebra over which can be interpreted as a variety in *k*-dimensional affine space, and the existence of a (common) eigenvalue (and hence a common eigenvector) corresponds to this variety having a point (being non-empty), which is the content of the (weak) Nullstellensatz. In algebraic terms, these operators correspond to an algebra representation of the polynomial algebra in *k* variables.

This is generalized by Lie's theorem, which shows that any representation of a solvable Lie algebra is simultaneously upper triangularisable, the case of commuting matrices being the abelian Lie algebra case, abelian being a fortiori solvable.

More generally and precisely, a set of matrices is simultaneously triangularisable if and only if the matrix is nilpotent for all polynomials *p* in *k* *non*-commuting variables, where is the commutator; note that for commuting the commutator vanishes so this holds. This was proven in Template:Harv; a brief proof is given in Template:Harv. One direction is clear: if the matrices are simultaneously triangularisable, then is *strictly* upper triangularizable (hence nilpotent), which is preserved by multiplication by any or combination thereof – it will still have 0s on the diagonal in the triangularizing basis.

## Generalizations

Because the product of two upper triangular matrices is again upper triangular, the set of upper triangular matrices forms an algebra. Algebras of upper triangular matrices have a natural generalization in functional analysis which yields nest algebras on Hilbert spaces.

A non-square (or sometimes any) matrix with zeros above (below) the diagonal is called a lower (upper) trapezoidal matrix. The non-zero entries form the shape of a trapezoid.

### Borel subgroups and Borel subalgebras

{{#invoke:main|main}} The set of invertible triangular matrices of a given kind (upper or lower) forms a group, indeed a Lie group, which is a subgroup of the general linear group of all invertible matrices; invertible is equivalent to all diagonal entries being invertible (non-zero).

Over the real numbers, this group is disconnected, having components accordingly as each diagonal entry is positive or negative. The identity component is invertible triangular matrices with positive entries on the diagonal, and the group of all invertible triangular matrices is a semidirect product of this group and diagonal entries with on the diagonal, corresponding to the components.

The Lie algebra of the Lie group of invertible upper triangular matrices is the set of all upper triangular matrices, not necessarily invertible, and is a solvable Lie algebra. These are, respectively, the standard Borel subgroup *B* of the Lie group GL_{n} and the standard Borel subalgebra of the Lie algebra gl_{n}.

The upper triangular matrices are precisely those that stabilize the standard flag. The invertible ones among them form a subgroup of the general linear group, whose conjugate subgroups are those defined as the stabilizer of some (other) complete flag. These subgroups are Borel subgroups. The group of invertible lower triangular matrices is such a subgroup, since it is the stabilizer of the standard flag associated to the standard basis in reverse order.

The stabilizer of a partial flag obtained by forgetting some parts of the standard flag can be described as a set of block upper triangular matrices (but its elements are *not* all triangular matrices). The conjugates of such a group are the subgroups defined as the stabilizer of some partial flag. These subgroups are called parabolic subgroups.

### Examples

The group of 2 by 2 upper unitriangular matrices is isomorphic to the additive group of the field of scalars; in the case of complex numbers it corresponds to a group formed of parabolic Möbius transformations; the 3 by 3 upper unitriangular matrices form the Heisenberg group.

## Forward and back substitution

A matrix equation in the form or is very easy to solve by an iterative process called **forward substitution** for lower triangular matrices and analogously **back substitution** for upper triangular matrices.
The process is so called because for lower triangular matrices, one first computes , then substitutes that *forward* into the *next* equation to solve for , and repeats through to . In an upper triangular matrix, one works *backwards,* first computing , then substituting that *back* into the *previous* equation to solve for , and repeating through .

Notice that this does not require inverting the matrix.

### Forward substitution

The matrix equation **L***x* = *b* can be written as a system of linear equations

Observe that the first equation () only involves , and thus one can solve for directly. The second equation only involves and , and thus can be solved once one substitutes in the already solved value for . Continuing in this way, the -th equation only involves , and one can solve for using the previously solved values for .

The resulting formulas are:

A matrix equation with an upper triangular matrix **U** can be solved in an analogous way, only working backwards.

### Algorithm

The following is an example implementation of this algorithm in the C# programming language. Note that the algorithm performs poorly in C# due to the inefficient handling of non-jagged matrices in this language. Nonetheless, the method of forward and backward substitution *can* be highly efficient.

```
double[] luEvaluate(double[,] L, double[,] U, Vector b)
{
// Ax = b -> LUx = b. Then y is defined to be Ux
int i = 0;
int j = 0;
int n = b.Count;
double[] x = new double[n];
double[] y = new double[n];
// Forward solve Ly = b
for (i = 0; i < n; i++)
{
y[i] = b[i];
for (j = 0; j < i; j++)
{
y[i] -= L[i, j] * y[j];
}
y[i] /= L[i, i];
}
// Backward solve Ux = y
for (i = n - 1; i >= 0; i--)
{
x[i] = y[i];
for (j = i + 1; j < n; j++)
{
x[i] -= U[i, j] * x[j];
}
x[i] /= U[i, i];
}
return x;
}
```

### Applications

Forward substitution is used in financial bootstrapping to construct a yield curve.

## See also

- Gaussian elimination
- QR decomposition
- Cholesky decomposition
- Hessenberg matrix
- Tridiagonal matrix
- Invariant subspace

## Notes

## References

- ↑
^{1.0}^{1.1}^{1.2}Template:Harv - ↑ Template:Harv

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }} Template:Refend