On a shrink-and-expand technique for symmetric block eigensolvers
Yuqi Liu, Yuxin Ma, Meiyue Shao
TL;DR
The paper introduces a shrink-and-expand technique to accelerate symmetric block eigensolvers by adaptively changing the block size during iteration, rather than relying on deflation. It generalizes the idea across SI, SD, LOBPCG, and TraceMIN, proposing three adaptive strategies (fix, slope, slopek) and provides a detailed convergence analysis showing that expansion can restore convergence speed after shrinkage. Theoretical results, complemented by extensive numerical experiments on SPD matrices, demonstrate average speedups of about $20$–$30\%$ (up to $50\%$ in some cases) while maintaining accuracy. The method is memory-efficient and broadly applicable to a range of block eigensolvers, with potential extensions to other Krylov-type methods and non-Hermitian problems.
Abstract
In symmetric block eigenvalue algorithms, such as the subspace iteration algorithm and the locally optimal block preconditioned conjugate gradient (LOBPCG) algorithm, a large block size is often employed to achieve robustness and rapid convergence. However, using a large block size also increases the computational cost. Traditionally, the block size is typically reduced after convergence of some eigenpairs, known as deflation. In this work, we propose a non-deflation-based, more aggressive technique, where the block size is adjusted dynamically during the algorithm. This technique can be applied to a wide range of block eigensolvers, reducing computational cost without compromising convergence speed. We present three adaptive strategies for adjusting the block size, and apply them to four well-known eigensolvers as examples. Detailed theoretical analysis and numerical experiments are provided to illustrate the efficiency of the proposed technique. In practice, an overall acceleration of 20% to 30% is observed.
