schur

Schur decomposition.

Syntax

T = schur(A)

T = schur(A,opt)

[U,T] = schur(A)

Inputs

A
The square matrix to decompose.
Dimension: matrix
opt
Flag to control the form of T.
'real' (default) or 'complex'
Type: string

Outputs

U
Unitary matrix.
T
Upper triangular matrix.

Example

[U,T] = schur([58, 32, 84;32, -18, -44; 84, -44, 50])
U = [Matrix] 3 x 3
 0.49774  -0.71125  -0.49636
-0.66719   0.05167  -0.74309
-0.55417  -0.70103   0.44882
T = [Matrix] 3 x 3
-7.84190e+01  -1.42109e-14  -2.23975e-14
 0.00000e+00   1.38468e+02   8.85243e-15
 0.00000e+00   0.00000e+00   2.99510e+01

Comments

[U,T] = schur(A) computes matrices U and T such that A = UTU', The elements on the main diagonal of T are the Eigenvalues of A. When A is real the 'real' flag will place the Eigenvalues along the diagonal in real 1x1 or 2x2 blocks, and the 'complex' flag will place the Eigenvalues along the diagonal in complex form.

schur uses the LAPACK routines 'dgees' for real and 'zgees' for complex cases.