SchurDecomposition

SchurDecomposition[m]

yields the Schur decomposition for a numerical matrix m, given as a list {q,t} where q is an orthonormal matrix and t is a block uppertriangular matrix.

SchurDecomposition[{m,a}]

gives the generalized Schur decomposition of m with respect to a.

Details and Options

Examples

open allclose all

Basic Examples  (1)

Find the Schur decomposition of a real matrix:

Scope  (7)

Find the Schur decomposition of a machine-precision matrix:

Format the results:

Schur decomposition of a complex matrix:

Consider a real-valued matrix with complex eigenvalues:

Compute its Schur decomposition:

All entries in the decomposition are real:

The matrix is block-upper triangular, with entries along the first subdiagonal, but not upper triangular:

RealBlockDiagonalFormFalse makes upper triangular at the cost of complex entries:

Schur decomposition of an arbitrary-precision matrix:

Schur decomposition of sparse matrices:

Schur decomposition a structured matrix of type SymmetrizedArray:

Generalized Schur decomposition for a pair of matrices m and a:

Options  (2)

Pivoting  (1)

m is a 3×3 matrix:

With Pivoting->True, an extra matrix that represents the scaling and permutation is returned:

Verify that m.d is equal to d.q.t.ConjugateTranspose[q]:

RealBlockDiagonalForm  (1)

m is a matrix with two real and two complex eigenvalues:

With RealBlockDiagonalForm->False, the result is complex upper triangular:

With RealBlockDiagonalForm->True, there are real 2×2 blocks along the diagonal:

Applications  (1)

m is a matrix that is not diagonalizable:

The Schur decomposition gives equivalence to a triangular matrix:

The eigenvalues, since they are real, occur on the diagonal of t:

Properties & Relations  (3)

m is a matrix with two real and two complex eigenvalues:

Find the Schur decomposition of m:

The real eigenvalues appear on the diagonal of t, the complex as a 2×2 block:

Verify that m is equal to q.t.ConjugateTranspose[q]:

m and a are random 3×3 matrices:

Find the generalized Schur decomposition of m with respect to a:

Verify that m is given by q.s.ConjugateTranspose[p]:

Verify that a is given by q.t.ConjugateTranspose[p]:

m is a symmetric random matrix:

Find the Schur decomposition of m:

t is a diagonal matrix with the eigenvalues of m along the diagonal:

The columns of q are the eigenvectors of m:

Possible Issues  (1)

m is a matrix with exact integer valued entries:

SchurDecomposition only works with approximate numerical matrices:

For exact matrices, use JordanDecomposition:

Wolfram Research (1991), SchurDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/SchurDecomposition.html (updated 2008).

Text

Wolfram Research (1991), SchurDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/SchurDecomposition.html (updated 2008).

BibTeX

@misc{reference.wolfram_2021_schurdecomposition, author="Wolfram Research", title="{SchurDecomposition}", year="2008", howpublished="\url{https://reference.wolfram.com/language/ref/SchurDecomposition.html}", note=[Accessed: 19-October-2021 ]}

BibLaTeX

@online{reference.wolfram_2021_schurdecomposition, organization={Wolfram Research}, title={SchurDecomposition}, year={2008}, url={https://reference.wolfram.com/language/ref/SchurDecomposition.html}, note=[Accessed: 19-October-2021 ]}

CMS

Wolfram Language. 1991. "SchurDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2008. https://reference.wolfram.com/language/ref/SchurDecomposition.html.

APA

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