Schur Decomposition
Statement
For every there exists a unitary matrix (i.e.\ ) and an upper triangular matrix such that
The diagonal entries of are precisely the eigenvalues of (with multiplicity). When is normal () the triangular form is actually diagonal, recovering the Spectral TheoremSpectral TheoremEvery real symmetric matrix is orthogonally diagonalizableRead more →.
Visualization
Take , the standard rotation by . Over it has no eigenvalues, but over it has eigenvalues .
Eigenvalues of A: λ₁ = i, λ₂ = -i
Eigenvectors (columns of Q):
q₁ = (1/√2)(1, -i)ᵀ, q₂ = (1/√2)(1, i)ᵀ
Schur form T = QᴴAQ:
T = ( i * ) (* = off-diagonal entry, value 0 here since A is normal)
( 0 -i )
Because is unitary (hence normal), the Schur form is diagonal:
| Step | Value |
|---|---|
| (eigenvector) | |
| (eigenvector) | |
Proof Sketch
- Base case. Pick any eigenvalue and unit eigenvector . Extend to an orthonormal basis of .
- Block reduction. Relative to this basis, has the block form where is .
- Induction. Apply the construction to . By induction, is unitarily similar to an upper triangular matrix , which assembles into .
- Diagonal for normal matrices. If is normal, for every standard basis vector forces all off-diagonal entries to zero, giving a diagonal .
Connections
- Spectral TheoremSpectral TheoremEvery real symmetric matrix is orthogonally diagonalizableRead more → — Schur decomposition restricted to normal matrices is exactly the spectral theorem; the diagonal form records eigenvalues
- Cayley–Hamilton TheoremCayley–Hamilton TheoremEvery square matrix satisfies its own characteristic polynomialRead more → — the characteristic polynomial of equals that of its Schur form (since ); Cayley–Hamilton then applies equally to
- Jordan Canonical FormJordan Canonical FormEvery square matrix over an algebraically closed field is similar to a direct sum of Jordan blocks.Read more → — Schur triangularises without ordering eigenspaces; Jordan goes further, revealing the nilpotent structure inside each eigenspace
Lean4 Proof
import Mathlib.Analysis.Matrix.Spectrum
/-- Schur decomposition for Hermitian matrices (the normal case):
the star-algebra automorphism by the conjugate of the eigenvector
unitary diagonalizes A. This is `conjStarAlgAut_star_eigenvectorUnitary`
in Mathlib — a direct one-line alias. -/
theorem hermitian_schur
{𝕜 : Type*} [RCLike 𝕜]
{n : Type*} [Fintype n] [DecidableEq n]
{A : Matrix n n 𝕜} (hA : A.IsHermitian) :
Unitary.conjStarAlgAut 𝕜 _ (star hA.eigenvectorUnitary) A =
Matrix.diagonal (RCLike.ofReal ∘ hA.eigenvalues) :=
hA.conjStarAlgAut_star_eigenvectorUnitary