Arithmetical enhancements of the Kogbetliantz method for the SVD of order two
Vedran Novaković
TL;DR
This work addresses robustly computing the SVD of general $2\times 2$ matrices by enhancing the classical Kogbetliantz approach. It introduces a three-phase pipeline—almost exact prescaling, highly accurate triangularization when zeros are absent, and an alternative triangular SVD that uses correctly rounded $\mathrm{hypot}$—together with a heuristic to improve left singular-vector orthogonality. The method demonstrates high relative accuracy for the singular values on upper-triangular inputs across a wide safe range and shows improved numerical orthogonality of singular vectors, albeit with a modest speed penalty relative to LAPACK’s xLASV2. The proposed framework provides modular components that can complement existing routines, and the results offer guidance on exponent-range limits and potential hardware-enabled enhancements for improved accuracy and performance in SVD computations.
Abstract
An enhanced Kogbetliantz method for the singular value decomposition (SVD) of general matrices of order two is proposed. The method consists of three phases: an almost exact prescaling, that can be beneficial to the LAPACK's xLASV2 routine for the SVD of upper triangular 2x2 matrices as well, a highly relatively accurate triangularization in the absence of underflows, and an alternative procedure for computing the SVD of triangular matrices, that employs the correctly rounded hypot function. A heuristic for improving numerical orthogonality of the left singular vectors is also presented and tested on a wide spectrum of random input matrices. On upper triangular matrices under test, the proposed method, unlike xLASV2, finds both singular values with high relative accuracy as long as the input elements are within a safe range that is almost as wide as the entire normal range. On general matrices of order two, the method's safe range for which the smaller singular values remain accurate is of about half the width of the normal range.
