Advanced Matrix Factorization and Numerical Optimization
Numerical Stability Nuances
Stability in Decomposition
Eigendecomposition and Singular Value Decomposition (SVD) are foundational, yet their numerical behaviour diverges dramatically under stress. In applications like muon tomography or gravitational wave analysis, where data matrices can be nearly singular or non-normal, the choice is not academic, it dictates the reliability of the result. While eigendecomposition provides a profound look into a system's dynamics through its eigenvalues, its numerical fragility often makes it unsuitable for direct application on raw, high-dimensional data.
The core issue lies in the basis. For any real matrix , SVD provides two sets of orthogonal bases, the left and right singular vectors. Eigendecomposition, however, only guarantees an orthogonal basis of eigenvectors if the matrix is normal (). For a general —a common occurrence in real-world systems—the eigenvectors can be nearly linearly dependent. This lack of orthogonality is a primary source of numerical instability.
Condition Number Explosion
The stability of an eigendecomposition depends critically on the condition number of the eigenvector matrix , denoted . If the eigenvectors are not orthogonal, can be ill-conditioned, meaning is large. A perturbation to the matrix can cause a change in an eigenvalue that is magnified by this condition number. The system's sensitivity explodes not because of the conditioning of itself, but because of the non-orthogonality of its eigenvectors.
SVD, defined as , sidesteps this problem entirely. The left and right singular vectors, columns of and , are guaranteed to be orthogonal bases regardless of whether is normal. Consequently, the SVD computation is always backward stable; the computed decomposition is the exact decomposition of a nearby matrix . This is not guaranteed for the eigendecomposition of a non-normal matrix.
The stability of SVD is decoupled from the conditioning of the matrix. It depends only on the machine precision, not the properties of the matrix itself.
Another failure mode for eigendecomposition is sensitivity to the spectral gap. If eigenvalues are clustered closely together, their corresponding eigenvectors become extremely sensitive to perturbations. Even for a normal matrix, a small change in can cause the eigenvectors for a cluster of eigenvalues to rotate wildly within the subspace they span. SVD is less susceptible to this, as the singular values are generally more stable.
The Peril of the Gram Matrix
The formal connection between the two decompositions is well-known. The singular values of are the square roots of the eigenvalues of the (or ). The right singular vectors () are the eigenvectors of , and the left singular vectors () are the eigenvectors of .
This relationship might suggest a simple algorithm for finding the SVD: form and compute its eigendecomposition. This is a catastrophic mistake from a numerical standpoint. The process of forming squares the condition number of the original matrix .
Modern SVD algorithms, like variants of the Golub-Kahan-Reinsch algorithm, work directly on the matrix . They avoid the explicit formation of , thereby preventing this catastrophic loss of precision. They operate through a series of orthogonal transformations (like Householder reflections) that preserve the singular values and maintain numerical stability.
For any application demanding high fidelity, the message is clear. While eigendecomposition offers irreplaceable insights for normal matrices and theoretical dynamics, for practical, numerical work on general matrices, SVD provides a foundation of stability that eigendecomposition cannot promise.
Let's test your understanding of these critical distinctions.
Under what condition is the basis of eigenvectors for a matrix guaranteed to be orthogonal?
A common method for finding the SVD of a matrix involves first computing the Gram matrix and then finding its eigendecomposition. From a numerical stability perspective, why is this a bad idea?
Choosing the right decomposition method is a fundamental aspect of robust numerical analysis, ensuring that the computed results accurately reflect the underlying system, not the artifacts of calculation.