SchurDecomposition[m] yields the Schur decomposition for a numerical matrix m. The result is a list q, t where q is an orthogonal matrix and t is a block upper triangular matrix.
The original matrix m is equal to q . t . Conjugate[Transpose[q]].
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]].
See The Mathematica Book: Section 3.7.10.
Implementation Notes: see section A.9.4.
See also: QRDecomposition, LUDecomposition, SingularValues, JordanDecomposition.
Related package: LinearAlgebra`Cholesky`.