UpperTriangularize
gives a matrix in which all but the upper triangular elements of m are replaced with zeros.
UpperTriangularize[m,k]
replaces with zeros only the elements below the k subdiagonal of m.
Details and Options
- UpperTriangularize[m] works even if m is not a square matrix.
- In UpperTriangularize[m,k], positive k refers to subdiagonals above the main diagonal and negative k refers to subdiagonals below the main diagonal.
- UpperTriangularize works with SparseArray objects.
- UpperTriangularize[…,TargetStructure->struct] returns the upper 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 an UpperTriangularMatrix - With UpperTriangularize[…,TargetStructureAutomatic], the structure of the resulting upper 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 UpperTriangularMatrix. Otherwise, a dense matrix is returned.
Examples
open allclose allBasic Examples (3)
Scope (12)
Basic Uses (8)
Get the upper triangular part of non-square matrices:
Find the upper triangular part of a machine-precision matrix:
Upper triangular part of a complex matrix:
Upper triangular part of an exact matrix:
Upper triangular part of an arbitrary-precision matrix:
Compute the upper 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 upper triangular part of a sparse matrix is returned as a sparse matrix:
The upper triangular part of structured matrices:
The upper triangular part of an identity matrix is the matrix itself:
This is true of any diagonal matrix:
Compute the upper triangular part, including the subdiagonal, for HilbertMatrix:
Options (2)
TargetStructure (2)
Return the result as a dense matrix:
Return the result as a sparse matrix:
Return the result as an UpperTriangularMatrix:
The setting TargetStructureAutomatic gives a sparse result:
Convert the sparse array to a dense matrix:
The setting TargetStructureAutomatic gives a dense result:
Applications (3)
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:
Reconstruct the original matrix as a permutation of the product of l and u:
SchurDecomposition gives a 2×2-block upper triangular matrix:
Verify this matrix is upper triangular starting from the first subdiagonal:
JordanDecomposition relates any matrix to an upper triangular matrix via a similarity transformation :
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 (11)
Matrices returned by UpperTriangularize satisfy UpperTriangularMatrixQ:
The inverse of an upper triangular matrix is upper triangular:
This extends to arbitrary powers and functions:
The product of two (or more) upper triangular matrices is upper triangular:
The determinant of a triangular matrix equals the product of the diagonal entries:
Eigenvalues of a triangular matrix equal its diagonal elements:
QRDecomposition gives an upper triangular matrix:
CholeskyDecomposition gives an upper triangular matrix:
JordanDecomposition gives an upper triangular matrix:
HessenbergDecomposition returns a matrix that is upper triangular with an added subdiagonal:
HermiteDecomposition gives an upper triangular matrix:
UpperTriangularize[m,k] is equivalent to Transpose[LowerTriangularize[Transpose[m],-k]]:
Text
Wolfram Research (2008), UpperTriangularize, Wolfram Language function, https://reference.wolfram.com/language/ref/UpperTriangularize.html (updated 2023).
CMS
Wolfram Language. 2008. "UpperTriangularize." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2023. https://reference.wolfram.com/language/ref/UpperTriangularize.html.
APA
Wolfram Language. (2008). UpperTriangularize. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/UpperTriangularize.html