Abstract

The Lanczos algorithm has proven itself to be a valuable matrix eigensolver for problems with large dimensions, up to hundreds of millions or even tens of billions. The computational cost of using any Lanczos algorithm is dominated by the number of sparse matrix-vector multiplications required to reach suitable convergence. Block Lanczos replaces sparse matrix-vector multiplication with sparse matrix-matrix multiplication; sparse matrix-matrix multiplication is more efficient, due to improved data locality and amortizing the cost of fetching or constructing a matrix element, but for a randomly chosen starting block (or pivot), block Lanczos requires more multiplications to reach convergence. We find that a bootstrapped pivot block, that is, an initial block constructed from approximate eigenvectors computed in a truncated space, leads to a dramatically reduced number of multiplications, significantly outperforming both standard vector Lanczos and block Lanczos with a random pivot. A key condition for speed-up is that the pivot block has a non-trivial overlap with the final converged vector. We implement this approach in a configuration-interaction code for nuclear structure, and find a reduction in time-to-solution by a factor of two or more, up to a factor of ten.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call