SVD (Singular Value Decomposition)
The singular value decomposition is arguably the most important matrix factorization in SLAM. Any matrix can be written as
where and are orthogonal (, ) and is diagonal with non-negative entries , the singular values. The columns of and are the left and right singular vectors.
Geometric interpretation: every linear map is a rotation/reflection (), followed by an axis-aligned scaling (), followed by another rotation/reflection (). The singular values measure how much the map stretches space along its principal directions.
What SVD tells you about a matrix
- Rank: the number of nonzero singular values. A near-zero trailing singular value signals a (numerically) rank-deficient system — e.g., a degenerate point configuration.
- Conditioning: the ratio (largest over smallest nonzero) is the condition number; a large value means the associated least-squares problem is ill-conditioned and solutions are noise-sensitive.
- Null space: right singular vectors associated with zero singular values span the null space of — exactly what homogeneous linear systems in geometry need.
The workhorse uses in SLAM
Homogeneous least squares (DLT). Problems like triangulation, homography estimation, camera calibration, and the eight-point algorithm all reduce to
whose solution is the right singular vector of corresponding to the smallest singular value.
Enforcing matrix constraints. The closest (in Frobenius norm) rank-2 matrix to an estimated fundamental matrix is obtained by zeroing its smallest singular value. Similarly, a valid essential matrix must have singular values , enforced by replacing with .
Essential matrix decomposition. Given with , the four candidate relative poses are built from , , and (third column of ), where
The correct pose is selected by the cheirality check (triangulated points must lie in front of both cameras).
Rigid alignment of point sets (Kabsch / Procrustes). Given matched, centered 3D point sets, form the cross-covariance and compute . The optimal rotation is
with the determinant correction guarding against reflections. This closed-form solution is the inner step of ICP and the standard solver for 3D-3D correspondence.
Projecting onto the rotation group. A noisy “almost rotation” matrix (e.g., from averaging or numerical drift) is repaired the same way: take its SVD and rebuild with unit singular values and the determinant fix.
Pseudo-inverse and low-rank approximation. The Moore-Penrose pseudo-inverse is (invert nonzero singular values), giving minimum-norm least-squares solutions. Truncating the SVD after terms yields the best rank- approximation of (Eckart-Young theorem), used in dimensionality reduction and matrix conditioning analysis.
Why it matters for SLAM
SVD appears at nearly every geometric stage of a SLAM pipeline: initializing relative pose from the essential matrix, triangulating landmarks via DLT, aligning point clouds inside ICP, enforcing the internal constraints of estimated fundamental/essential matrices, and diagnosing degeneracies (planar scenes, pure rotation) by inspecting singular-value gaps. Being fluent in “the answer is the singular vector of the smallest singular value” unlocks a large fraction of multiple-view geometry.