Skip to content
Linear Algebra, Optimisation and Numerical Methods / Eigenvalue Computation Algorithms

Computing the SVD Numerically

This capstone note closes Topic 9 by tying its entire eigenvalue toolkit back to Stage 3: Theorem 1 of the SVD-existence note proved the SVD exists by reducing it to an eigenvalue problem for A⊤AA^\top A — and this note shows that reduction is not merely a proof technique, it is (a refined version of) the actual numerical method: computing an SVD in production software means running exactly the eigenvalue algorithms this topic just built, on a specific reformulation designed to avoid one numerical pitfall the direct A⊤AA^\top A approach carries.
Learning objectives. By the end of this note you should be able to:
  • explain why computing the SVD via A⊤AA^\top A directly is numerically inferior to alternatives;
  • state the symmetric eigenvalue reformulation used in practice;
  • connect the SVD computation to Hessenberg/tridiagonal reduction and the QR algorithm;
  • explain the sensitivity of singular values to perturbations.

In this lesson

  1. Why not just diagonalise A⊤AA^\top A directly?
  2. The production method
  3. Sensitivity of singular values

Before you start

The full lesson, with worked examples and exercise solutions, is for members.

Read the full lesson

New to SelfMadeQuant.com? See membership options or browse the Linear Algebra, Optimisation and Numerical Methods syllabus.