eigendecomposition (orthogonal)
The spectral theorem has a concrete matrix face. When an operator has an orthonormal eigenbasis, stacking those eigenvectors as the columns of a matrix Q gives a unitary matrix (orthogonal in the real case), and the operator factors as A = Q D Q^*. Here D is the diagonal matrix of eigenvalues and Q^* is the conjugate transpose. In the real symmetric case this reads A = Q D Q^T with Q orthogonal, so Q^* and Q^-1 and Q^T all coincide.
Read the factorization right to left as a change of perspective. Q^* rotates a vector into eigen-coordinates, D scales each coordinate by its eigenvalue, and Q rotates back. Because Q is unitary it preserves all lengths and angles — there is no shearing or distortion, only a rigid rotation, a clean stretch, and a rotation back. This is exactly why orthogonal eigendecomposition is numerically stable: unitary factors never amplify error, so the condition number stays at its best.
Contrast this with the general eigendecomposition A = S D S^-1 from Volume I, where S is merely invertible. There S can be wildly skewed and S^-1 can be huge, so the factorization can be unstable and geometrically opaque. The orthogonal version is the gold standard you get exactly when A is normal: the eigenvector matrix is a rotation, its inverse is just its adjoint (free to compute), and the spectral resolution A = sum lambda_i q_i q_i^* falls right out of the columns.
Real symmetric A factors into an orthogonal Q, a diagonal D of eigenvalues, and Q transpose.
A = Q D Q^* and the spectral resolution A = sum lambda_i q_i q_i^* are the same fact written two ways. The rank-one piece q_i q_i^* is exactly the orthogonal projection onto the i-th eigenvector.