# LowerTriangularize

gives a matrix in which all but the lower triangular elements of m are replaced with zeros.

LowerTriangularize[m,k]

replaces with zeros only the elements above the k subdiagonal of m.

# Details and Options • works even if m is not a square matrix.
• In LowerTriangularize[m,k], positive k refers to subdiagonals above the main diagonal and negative k refers to subdiagonals below the main diagonal.
• LowerTriangularize works with SparseArray objects.
• LowerTriangularize[,TargetStructure->struct] returns the lower triangular matrix in the format specified by struct. Possible settings include:
•  Automatic automatically choose the representation returned "Dense" represent the matrix as a dense matrix "Sparse" represent the matrix as a sparse array "Structured" represent the matrix as a LowerTriangularMatrix
• With , the structure of the resulting lower triangular matrix is the same as that of the original matrix, if the original matrix is a dense matrix, a sparse array, a structured DiagonalMatrix or a structured LowerTriangularMatrix. Otherwise, a dense matrix is returned.

# Examples

open allclose all

## Basic Examples(3)

Get the lower triangular part of a matrix:

Get the strictly lower triangular part of a matrix:

Get the lower triangular part of a matrix plus the diagonal above the main diagonal:

## Scope(12)

### Basic Uses(8)

Get the lower triangular part of nonsquare matrices:

Find the lower triangular part of a machine-precision matrix:

Lower triangular part of a complex matrix:

Lower triangular part of an exact matrix:

Lower triangular part of an arbitrary-precision matrix:

Compute the lower triangular part of a symbolic matrix:

Large matrices are handled efficiently:

The number of rows or columns limits the meaningful values of the parameter k:

### Special Matrices(4)

The lower triangular part of a sparse matrix is returned as a sparse matrix:

Format the result:

The lower triangular part of structured matrices:

The lower triangular part of an identity matrix is the matrix itself:

This is true of any diagonal matrix:

Compute the lower triangular part, including the superdiagonal, for HilbertMatrix:

## Options(2)

### TargetStructure(2)

A matrix:

Return the result as a dense matrix:

Return the result as a sparse matrix:

Return the result as a LowerTriangularMatrix:

A sparse array:

The setting gives a sparse result:

Convert the sparse array to a dense matrix:

The setting gives a dense result:

## Applications(2)

LUDecomposition decomposes a matrix as a product of upper and lower triangular matrices, returned as a triple {lu,perm,cond}:

Extract the strictly lower part of lu with LowerTriangularize and place ones on the diagonal:

Extract the upper part of lu with UpperTriangularize:

Display the three matrices:

Reconstruct the original matrix as a permutation of the product of l and u:

JordanDecomposition relates any matrix to an upper triangular matrix via a similarity transformation :

Visualize the three matrices:

Verify that the Jordan matrix is upper triangular and similar to the original matrix:

The matrix is diagonalizable iff its Jordan matrix is also lower triangular:

## Properties & Relations(6)

Matrices returned by LowerTriangularize satisfy LowerTriangularMatrixQ:

The inverse of a lower triangular matrix is lower triangular:

This extends to arbitrary powers and functions:

The product of two (or more) lower triangular matrices is lower triangular:

The determinant of a triangular matrix equals the product of the diagonal entries:

Eigenvalues of a triangular matrix equal its diagonal elements:

LowerTriangularize[m,k] is equivalent to Transpose[UpperTriangularize[Transpose[m], -k]]: