Hessenberg Reduction
Apply an orthogonal similarity to remove one matrix entry while preserving its eigenvalue information.
By Riano · Published · Updated · Report a correction
Hessenberg Reduction: zeroing entries while preserving invariants
A matrix A can be transformed using an orthogonal similarity transformation QTAQ. This operation changes the basis of the vector space without altering the matrix's eigenvalues, trace, or determinant. In this experiment, we compute a single Givens rotation to zero out the A31 entry, which is sufficient to reach upper Hessenberg form for a 3×3 matrix. The resulting matrix is not necessarily upper triangular or in Schur form.
The Givens similarity
A Givens rotation zeroes a specific entry by acting on two rows. For a 3×3 matrix A, if A31 ≠ 0, we form a 2D rotation for the (2,3) plane. Let r = √(A212 + A312), c = A21/r, and s = A31/r. The resulting orthogonal matrix Q is the identity except for Q22=c, Q23=−s, Q32=s, Q33=c.
Left-multiplying by QT combines rows 2 and 3 of A, creating a zero in the (3,1) position. However, to preserve eigenvalues, we must also right-multiply by Q, which combines columns 2 and 3. Since the first column of Q is unchanged, this right-multiplication preserves the zero we just created.
Worked example: removing a specific entry
Consider a matrix A with A11 = 2, A12 = −1, A13 = 3, A21 = 4, A22 = 0, A23 = −2, A31 = 3, A32 = 1, and A33 = 1.
- The target is to eliminate A31=3 using A21=4. The hypotenuse is r = √(42 + 32) = 5.
- We define c = 4/5 and s = 3/5. The matrix Q is formed as Q = [[1, 0, 0], [0, 4/5, −3/5], [0, 3/5, 4/5]].
- Computing H = QTAQ yields H31 = 0. The full result is H = [[2, 1, 3], [5, −3/25, −29/25], [0, 46/25, 28/25]].
| Property | Matrix A | Matrix H |
|---|---|---|
| Trace | 2 + 0 + 1 = 3 | 2 + (−3/25) + 28/25 = 3 |
| Determinant | 26 | 26 |
Both the trace and determinant are perfectly preserved by this exact rational transformation.
Match the product to the displayed controls
Open Hessenberg Reduction. Matrix A has nine integer sliders.
- Set A11 = 1, A12 = 2, A13 = 0, A21 = 3, A22 = 4, A23 = 1, A31 = 4, A32 = 0, and A33 = 2.
- Observe the orthogonal matrix Q. Its entries are computed using c = 3/5 and s = 4/5.
- Examine the intermediate QTA matrix. You will see that its (3,1) entry is exactly 0.
- Check the final Hessenberg H = QTAQ. The (3,1) entry remains 0, while the trace (7) and determinant (4) match the original matrix A.
By adjusting A31 to 0, you can see that Q becomes the identity matrix, and H equals A, meaning no reduction is needed.
Limitations of this module
This module performs exactly one Givens rotation to zero out the (3,1) entry, which is sufficient for a 3×3 matrix to reach Hessenberg form. For larger matrices (or for reaching Schur form), a series of Givens or Householder transformations would be necessary. The transformation is calculated directly using a single rotation on the (2,3) plane, rather than an iterative eigenvalue algorithm.
Source for Hessenberg forms
SciPy Reference: scipy.linalg.hessenberg outlines the mathematical properties of orthogonal similarity forms and the zero pattern below the first subdiagonal.
Experience it interactively
Adjust parameters, observe in real time, and build deep intuition with Riano’s interactive Hessenberg Reduction module.
Try Hessenberg Reduction on Riano →