# SchurDecomposition

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 • The original matrix m is equal to q.t.Conjugate[Transpose[q]]. »
• The matrix m must be square.
• SchurDecomposition[m,Pivoting->True] yields a list {q,t,d} where d is a permuted diagonal matrix such that m.d is equal to d.q.t.Conjugate[Transpose[q]]. »
• SchurDecomposition[{m,a}] yields a list of matrices {q,s,p,t} where q and p are orthonormal matrices, and s and t are uppertriangular matrices, such that m is given by q.s.Conjugate[Transpose[p]], and a is given by q.t.Conjugate[Transpose[p]]. »
• For real-valued matrices m, setting the option allows complex values on the diagonal of the t matrix.

# Examples

open allclose all

## Basic Examples(1)

Find the Schur decomposition of a real matrix:

## Scope(3)

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

Find the Schur decomposition using machine arithmetic:

Find the Schur decomposition using 20-digit precision arithmetic:

Find the Schur decomposition of a matrix with complex entries:

m and a are 2×2 matrices:

Find the generalized Schur decomposition of m with respect to 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.Conjugate[Transpose[q]]:

### RealBlockDiagonalForm(1)

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

With , the result is complex upper triangular:

With , 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.Conjugate[Transpose[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.Conjugate[Transpose[p]]:

Verify that a is given by q.t.Conjugate[Transpose[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:

Introduced in 1991
(2.0)
|
Updated in 2003
(5.0)
2008
(7.0)