An Effective and Robust Algorithm for Finding Principal Angles Between Subspaces Using An A-Based Scalar Product
Andrew Knyazev, Merico E. Argentati · 2000
Computation of principal angles between subspaces is important in many applications, e.g., in statistics and information retrieval. In statistics, the angles are closely related to measures of dependency and covariance of random variables. When applied to column-spaces of matrices, the principal angles describe canonical correlations of a matrix pair. We highlight that all popular software codes for canonical correlations compute only cosine of principal angles, thus, making impossible, because of round-off errors, finding small angles accurately. We review a combination of sine and cosine based algorithms that provides accurate results for all angles. We generalize the method to the computation of principal angles in an A-based scalar product, for a symmetric and positive definite matrix A. We prove basic perturbation theorems for absolute errors for sine and cosine of principal angles with improved constants. Numerical examples and a detailed description of our code are given.