JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

Schur Triangularization: Every Complex Operator Has a Flag

The track's payoff: over the complex numbers every operator is unitarily upper-triangular. Build the nested flag of invariant subspaces, read off the eigenvalues from the diagonal, and extend the idea to commuting families.

Triangular when diagonal is impossible

Diagonalization needs an eigenbasis and may fail. Triangularizability asks for less: a basis in which T is upper-triangular. Over the complex numbers this always succeeds, because the characteristic polynomial always has a root, so T always has at least one eigenvector to start the construction.

Upper-triangular has a clean meaning in invariant-subspace language. T is upper-triangular in a basis (b_1, ..., b_n) exactly when each initial chunk span{b_1, ..., b_k} is an invariant subspace. Triangularizing is nothing but building a nested tower of invariant subspaces.

The flag: a nested tower of invariant subspaces

A flag is a chain {0} = V_0 ⊂ V_1 ⊂ ... ⊂ V_n = V with dim V_k = k. When every V_k is T-invariant we call it a T-invariant flag. The whole content of triangularization is: every complex operator admits a T-invariant flag, and you can even choose it so consecutive basis vectors are orthonormal.

  1. Find an eigenvector v_1 of T (guaranteed over C); set V_1 = span{v_1}, invariant.
  2. Pass to the quotient V / V_1; the induced operator there also has an eigenvector, lifting to extend V_1 to an invariant V_2.
  3. Repeat, growing the invariant subspace one dimension at a time, until you reach V_n = V.
  4. Orthonormalize the resulting basis with Gram-Schmidt to get the UNITARY version — the Schur form.
Schur decomposition:  for any complex matrix A there is a
UNITARY U (U* U = I) and an UPPER-TRIANGULAR matrix R with

        A = U R U*        ( U* = conjugate transpose of U )

        R = [ l1  *   *  ;
              0   l2  *  ;
              0   0   l3 ]

The diagonal entries l1, l2, l3 are exactly the eigenvalues of A
(counted with multiplicity). The columns of U are an orthonormal
basis realizing a T-invariant flag:  span{u1} subset span{u1,u2} ...
The Schur decomposition: unitary similarity to upper-triangular, eigenvalues on the diagonal.

Reading off the spectrum

Once you have the Schur decomposition A = U R U*, the eigenvalues are simply the diagonal of R. The unitary U means the change of basis is numerically stable — no inversion of an ill-conditioned matrix — which is why Schur form, not Jordan form, is what real eigenvalue algorithms actually compute.

The payoff: from one operator to a commuting family

The flag idea scales beautifully. If several operators commute, they share a common invariant subspace at every rung, so they can be brought to upper-triangular form in the same basis at once. This is simultaneous triangularization, and it is the linear-algebra skeleton of Lie theory.

Step back and see the arc of the whole track. We began with a single eigenline, generalized it to invariant subspaces, discovered that complements can fail, repaired the gap with generalized eigenvectors and the primary decomposition, and arrived at a universal structure theorem: over C every operator triangularizes, every commuting family triangularizes together, and the diagonal always shows you the spectrum. Even when an operator refuses to be diagonal, the block-triangular form tames it — that is the bridge from raw eigentheory to the canonical forms ahead.