# BlockLowerTriangularMatrix

represents the block lower triangular matrix lmat as a structured array.

# Details • Block lower triangular matrices, when represented as structured arrays, allow for efficient storage and more efficient operations, including Det and LinearSolve.
• A block lower triangular matrix generalizes a lower triangular matrix, where the scalar elements in a lower triangular matrix that are on or below the diagonal are replaced by matrices of appropriate dimensions.
• • For a BlockLowerTriangularMatrix sa, the following properties "prop" can be accessed as sa["prop"]:
•  "Matrix" block lower triangular matrix, represented as a full array "BlockSizes" sizes of the diagonal blocks "RowPermutation" permutation of the rows, represented as a permutation list "ColumnPermutation" permutation of the columns, represented as a permutation list "Properties" list of supported properties "Structure" type of structured array "StructuredData" internal data stored by the structured array "StructuredAlgorithms" list of functions with special methods for the structured array "Summary" summary information, represented as a Dataset
• Normal[BlockLowerTriangularMatrix[]] gives the block lower triangular matrix as an ordinary list.

# Examples

open allclose all

## Basic Examples(2)

Construct a block lower triangular matrix:

Show the elements:

Normal can convert a BlockLowerTriangularMatrix to its ordinary representation:

Construct a block lower triangular matrix with symbolic entries:

Show the elements:

Get the determinant:

## Scope(4)

BlockLowerTriangularMatrix objects include properties that give information about the array:

The "BlockSizes" property gives the dimensions of the diagonal blocks:

The "RowPermutation" property encodes row permutations done to the original matrix:

The "ColumnPermutation" property encodes column permutations done to the original matrix:

The "Summary" property gives a brief summary of information about the array:

The "StructuredAlgorithms" property lists the functions that use the structure of the representation:

Structured algorithms are typically faster:

Compute the determinant:

Compute the eigenvalues:

When appropriate, structured algorithms return another BlockLowerTriangularMatrix object:

Transposing bl gives a block upper triangular matrix:

The product is no longer a block triangular matrix:

Elements in BlockLowerTriangularMatrix are coerced to the precision of the nonzero elements of the input.

Exact matrix:

Machine-number matrix:

Arbitrary-precision number matrix:

## Generalizations & Extensions(1)

Represent a rectangular block lower triangular matrix:

Show the sizes of the diagonal blocks:

## Applications(1)

The Kronecker product of a lower triangular matrix and a general square matrix is a block lower triangular matrix:

## Properties & Relations(2)

Lower triangular matrices are treated as block lower triangular matrices with 1×1 diagonal blocks:

If a given matrix cannot be transformed into a block triangular form, BlockLowerTriangularMatrix returns the matrix itself: