Computing accurate eigenvalues using a mixed-precision Jacobi algorithm
Nicholas J. Higham, Françoise Tisseur, Marcus Webb, Zhengbo Zhou
TL;DR
This work develops a mixed-precision framework for computing eigenvalues of symmetric matrices by preconditioning A with a low-precision-based matrix Q, applying the preconditioner at high precision, and solving with the Jacobi method at working precision. The authors prove forward-error bounds that are tighter than classical Jacobi bounds and, under small off-diagonal preconditioning, can be independent of the original condition number. They present two concrete preconditioner constructions exploiting low precision, derive detailed error and condition-number bounds, and confirm the theory with comprehensive numerical experiments showing substantial accuracy gains, albeit with higher cost dominated by high-precision matrix multiplications. The results suggest practical pathways to high-accuracy spectral decompositions, including dynamic precision selection and potential extensions to singular values and one-sided problems as hardware support for high-precision arithmetic improves.
Abstract
We provide a rounding error analysis of a mixed-precision preconditioned Jacobi algorithm, which uses low precision to compute the preconditioner, applies it at high precision (amounting to two matrix-matrix multiplications) and solves the eigenproblem using the Jacobi algorithm at working precision. Our analysis yields meaningfully smaller relative forward error bounds for the computed eigenvalues compared with those of the Jacobi algorithm. We further prove that, after preconditioning, if the off-diagonal entries of the preconditioned matrix are sufficiently small relative to its smallest diagonal entry, the relative forward error bound is independent of the condition number of the original matrix. We present two constructions for the preconditioner that exploit low precision, along with their error analyses. Our numerical experiments confirm our theoretical results and compare the relative forward error of the proposed algorithm with the Jacobi algorithm, a preconditioned Jacobi algorithm, and MATLAB's $\texttt{eig}$ function. Timings using Julia suggest that the dominant cost of obtaining this level of accuracy comes from the high precision matrix-matrix multiplies; if support in software or hardware for this were improved, then this would become a negligible cost.
