BlockUpperTriangularMatrix

BlockUpperTriangularMatrix[umat]

represents the block upper triangular matrix umat as a structured array.

Details and Options

  • Block upper triangular matrices, when represented as structured arrays, allow for efficient storage and more efficient operations, including Det and LinearSolve.
  • A block upper triangular matrix generalizes an upper triangular matrix, where the scalar elements in an upper triangular matrix that are on or above the diagonal are replaced by matrices of appropriate dimensions.
  • For a BlockUpperTriangularMatrix sa, the following properties "prop" can be accessed as sa["prop"]:
  • "Matrix"block upper 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[BlockUpperTriangularMatrix[]] gives the block upper triangular matrix as an ordinary list.
  • BlockUpperTriangularMatrix[,TargetStructure->struct] returns the block upper triangular matrix in the format specified by struct. Possible settings include:
  • Automaticautomatically 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 structured array
  • BlockUpperTriangularMatrix[,TargetStructureAutomatic] is equivalent to BlockUpperTriangularMatrix[,TargetStructure"Structured"].

Examples

open allclose all

Basic Examples  (2)

Construct a block upper triangular matrix:

Show the elements:

Normal can convert a BlockUpperTriangularMatrix to its ordinary representation:

Construct a block upper triangular matrix with symbolic entries:

Show the elements:

Get the determinant:

Scope  (4)

BlockUpperTriangularMatrix 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 BlockUpperTriangularMatrix object:

Transposing bu gives a block lower triangular matrix:

The product is no longer a block triangular matrix:

Elements in BlockUpperTriangularMatrix 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 upper triangular matrix:

Show the sizes of the diagonal blocks:

Options  (1)

TargetStructure  (1)

Return the block upper triangular matrix as a dense matrix:

Return the block upper triangular matrix as a structured array:

Return the block upper triangular matrix as a sparse array:

Applications  (1)

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

Properties & Relations  (2)

Upper triangular matrices are treated as block upper triangular matrices with 1×1 diagonal blocks:

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

Wolfram Research (2022), BlockUpperTriangularMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html (updated 2023).

Text

Wolfram Research (2022), BlockUpperTriangularMatrix, Wolfram Language function, https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html (updated 2023).

CMS

Wolfram Language. 2022. "BlockUpperTriangularMatrix." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html.

APA

Wolfram Language. (2022). BlockUpperTriangularMatrix. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html

BibTeX

@misc{reference.wolfram_2024_blockuppertriangularmatrix, author="Wolfram Research", title="{BlockUpperTriangularMatrix}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html}", note=[Accessed: 30-December-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_blockuppertriangularmatrix, organization={Wolfram Research}, title={BlockUpperTriangularMatrix}, year={2023}, url={https://reference.wolfram.com/language/ref/BlockUpperTriangularMatrix.html}, note=[Accessed: 30-December-2024 ]}