Accurate complex Jacobi rotations
Vedran Novaković
TL;DR
The paper introduces a high-accuracy method for computing complex Jacobi rotations for the Hermitian 2x2 eigenproblem, deriving a floating-point rotation \tilde{U} from the rounded input using correctly rounded routines \mathtt{cr\_hypot} and \mathtt{cr\_rsqrt}. By scaling the input to avoid subnormal issues and carefully propagating rounding through the rotation parameters, the method achieves tight relative error bounds and outperforms LAPACK's xLAEV2 in key cases. Theoretical guarantees are complemented by extensive numerical testing across datatypes, confirming that the computed rotations remain highly close to unitary and that the observed errors are within derived bounds. Practical impact includes more accurate Jacobi-based EVD computations and improved unitarity in assembled eigenvector matrices for larger Hermitian problems.
Abstract
This note shows how to compute, to high relative accuracy under mild assumptions, complex Jacobi rotations for diagonalization of Hermitian matrices of order two, using the correctly rounded functions $\mathtt{cr\_hypot}$ and $\mathtt{cr\_rsqrt}$, proposed for standardization in the C programming language as recommended by the IEEE-754 floating-point standard. The rounding to nearest (ties to even) and the non-stop arithmetic are assumed. The numerical examples compare the observed with theoretical bounds on the relative errors in the rotations' elements, and show that the maximal observed departure of the rotations' determinants from unity is smaller than that of the transformations computed by LAPACK.
