Abstract Linear Algebra 46 | Example of Schur Decomposition
Based on The Bright Side of Mathematics's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Schur decomposition produces an upper triangular matrix R via a unitary similarity transformation R = U*AU.
Briefing
Schur decomposition turns any complex square matrix into an upper triangular “Schur normal form” using only unitary similarity transformations. In this worked example, a specific 3×3 real matrix is reduced step-by-step until the final triangular form is obtained, illustrating how eigenvalues appear on the diagonal and how unitary matrices make the process stable and structured.
The matrix chosen is A = [ -3 -4 0; 4 5 0; 3 5 1 ]. Because Schur decomposition applies over the complex numbers, the task is to find a unitary matrix U such that U* A U becomes upper triangular. The key payoff is that similar matrices share eigenvalues, so the diagonal of the resulting triangular matrix must match the eigenvalues of A. The example anticipates a “best-case” outcome where the diagonal entries are all the eigenvalue 1 (with multiplicity three), while nonzero entries may remain above the diagonal.
The algorithm begins by selecting an eigenpair. Applying A to the vector (0,0,1)ᵀ returns (0,0,1)ᵀ, so (0,0,1) is an eigenvector for eigenvalue λ₁ = 1. After normalizing (it already has length one), the method extends this eigenvector to an orthonormal basis of ℂ³. The simplest choice is to take y₂ = (1,0,0)ᵀ and y₃ = (0,1,0)ᵀ, producing an orthonormal set {x₁, y₂, y₃}. These basis vectors become the columns of the first unitary matrix U₁. Since U₁ is built from orthonormal vectors, U₁* is just its conjugate transpose (here, only transposition matters).
Next, the algorithm applies the unitary similarity transformation in stages: first it computes U₁* A U₁, which rearranges rows/columns and yields a block structure where the top-left entry is λ₁ = 1 and the bottom-right 2×2 block becomes a new matrix A₂. The process then repeats on A₂. For the 2×2 case, an eigenvector is found using the vector (1,−1)ᵀ, again giving eigenvalue λ₂ = 1. After normalization, x₂ = (1/√2)(1,−1)ᵀ, the remaining orthonormal direction is chosen as y₃ = (1/√2)(1,1)ᵀ (a 90° rotation in the plane). These vectors define the second unitary matrix U₂.
Combining the transformations produces the final upper triangular Schur form R = U* A U. The diagonal entries are 1,1,1, confirming that 1 is the only eigenvalue (consistent with the characteristic polynomial check mentioned). The computed R has the expected triangular structure, with a concrete set of off-diagonal entries involving √2, including a notable −8 in the lower part of the first row. The example closes by emphasizing why this matters: Schur decomposition achieves triangularization using unitary matrices, a cornerstone for the spectral theorem for normal matrices.
In short, the calculation demonstrates the mechanics of Schur decomposition: pick an eigenvector, extend to an orthonormal basis to build a unitary, apply unitary similarity to isolate a smaller block, and iterate until the matrix becomes upper triangular with eigenvalues on the diagonal.
Cornell Notes
Schur decomposition finds a unitary matrix U so that U*AU becomes an upper triangular matrix R (Schur normal form). In the example, the 3×3 matrix A has (0,0,1)ᵀ as an eigenvector with eigenvalue 1, so the first diagonal entry of R is 1. After extending that eigenvector to an orthonormal basis, a unitary U₁ is built and used to reduce A to a 2×2 block A₂. Repeating the same idea on A₂ again yields eigenvalue 1, and the final unitary similarity produces R with diagonal (1,1,1). This matters because unitary triangularization underpins the spectral theorem for normal matrices.
Why does the diagonal of the Schur form R match the eigenvalues of A?
How is the first eigenpair chosen in the example, and what does it imply for the algorithm?
What role does extending an eigenvector to an orthonormal basis play?
How does the algorithm reduce the 3×3 problem to a 2×2 problem?
Why does the second step again yield eigenvalue 1?
What is the final output and how is it verified?
Review Questions
- In an upper triangular matrix, how do the eigenvalues relate to the diagonal entries?
- What conditions must the vectors y₂ and y₃ satisfy when extending an eigenvector to build a unitary matrix?
- Why does applying U*AU with a unitary U preserve eigenvalues?
Key Points
- 1
Schur decomposition produces an upper triangular matrix R via a unitary similarity transformation R = U*AU.
- 2
Eigenvalues of A appear on the diagonal of R because similarity preserves eigenvalues and triangular matrices have eigenvalues on their diagonal.
- 3
The algorithm starts by finding an eigenvector x₁ and normalizing it to length one.
- 4
An eigenvector is extended to an orthonormal basis; the basis vectors become columns of a unitary matrix U₁.
- 5
Applying U₁*AU₁ creates a block form that reduces the problem size from 3×3 to 2×2.
- 6
The same procedure applied to the remaining block yields the final unitary transformation and completes the triangularization.
- 7
For normal matrices, Schur decomposition is a pathway to the spectral theorem, since it uses unitary transformations to reach structured forms.