Rank-One Secular Equation
Watch a positive rank-one update move eigenvalues between secular poles.
By Riano · Published · Updated · Report a correction
Rank-One Secular Equation
A deep dive into how a rank-one perturbation shifts eigenvalues between the poles of a secular equation.
Worked Example: Finding the Roots
Consider a diagonal matrix D = diag(1, 3) and a vector u = (cos θ, sin θ). We define a rank-one perturbed matrix B = D + ρ u uT.
Let ρ = 1 and θ = 45°. Then u = (√2/2, √2/2), and u uT = [[0.5, 0.5], [0.5, 0.5]]. Our perturbed matrix is:
B = [[1, 0], [0, 3]] + 1 * [[0.5, 0.5], [0.5, 0.5]] B = [[1.5, 0.5], [0.5, 3.5]]
To find the eigenvalues of B, we compute the characteristic polynomial:
- Trace(B) = 1.5 + 3.5 = 5
- Det(B) = (1.5)(3.5) - (0.5)(0.5) = 5.25 - 0.25 = 5
- λ2 - 5λ + 5 = 0
Using the quadratic formula, the eigenvalues are λ = (5 ± √(25 - 20)) / 2 = (5 ± √5) / 2.
This yields μ1 ≈ 1.381966 and μ2 ≈ 3.618034.
The same values are found by finding the roots of the secular equation f(λ) = 1 + ρ (u12 / (1 - λ) + u22 / (3 - λ)) = 0.
Experiment: Secular Poles and Updates
Open the Interactive view at https://riano.app/module/rank-one-secular-equation to observe the secular curve.
- Set Strength rho to 0. Notice the secular poles at λ=1 and λ=3 survive as unperturbed eigenvalues.
- Set Strength rho to 1 and Direction degrees to 45. See how the secular curve crosses zero between the poles, defining the new eigenvalues.
- Set Direction degrees to 0. The perturbation is aligned completely with the first basis vector. The first eigenvalue moves right, while the second eigenvalue at λ=3 remains unperturbed because its corresponding term in the secular equation has a zero residue (u2=0).
- Increase Strength rho to 2 at 0 degrees. Both eigenvalues now equal 3, demonstrating that secular poles can act as strict boundaries that trap movement until terms are fully activated.
Limitations
The secular equation assumes non-zero vector components for all distinct eigenvalues. When ui = 0, we must analytically remove the zero-residue term from the summation to avoid division-by-zero artifacts. This visualization only considers the 2×2 case to keep the geometry clear and bounded on screen. We also assume non-negative perturbations (ρ ≥ 0). Negative rank-one updates shift eigenvalues down instead of up.
References
Gu, M., & Eisenstat, S. C. (1994). A divide-and-conquer algorithm for the symmetric tridiagonal eigenproblem.LAPACK Working Note 132. Explains the secular equation formulation for updating eigenvalues efficiently in divide-and-conquer algorithms.
Experience it interactively
Adjust parameters, observe in real time, and build deep intuition with Riano’s interactive Rank-One Secular Equation module.
Try Rank-One Secular Equation on Riano →