Libkrylov: A modular open‐source software library for extremely large on‐the‐fly matrix computations

Dmitrij Rappoport,Samuel Bekoe,Luke Nambi Mohanam,Scott Le,Naje’ George,Ziyue Shen,Filipp Furche
DOI: https://doi.org/10.1002/jcc.27068
2023-01-15
Journal of Computational Chemistry
Abstract:Libkrylov implements iterative Krylov subspace algorithms for eigenvalue, linear, and shifted linear equations within an unified flexible application programming interface (API). The modular structure of libkrylov empowers the users of the library to find the algorithmic features such as preconditioning (conjugate gradient, Davidson, and Jacobi–Davidson) and orthonormalization (orthonormal, nonorthonormal) that best suit their specific use case. We present the design and implementation of libkrylov, an open‐source library for solving matrix‐free eigenvalue, linear, and shifted linear equations using Krylov subspace methods. The primary objectives of libkrylov are flexible API design and modular structure, which enables integration with specialized matrix–vector evaluation "engines." Libkrylov features pluggable preconditioning, orthonormalization, and tunable convergence control. Diagonal (conjugate gradient, CG), Davidson, and Jacobi–Davidson preconditioners are available, along with orthonormal and nonorthonormal (nKs) schemes. All functionality of libkrylov is exposed via Fortran and C application programming interfaces (APIs). We illustrate the performance of libkrylov for eigenvalue calculations arising in time‐dependent density functional theory (TDDFT) in the Tamm–Dancoff approximation (TDA) and discuss the convergence behavior as a function of preconditioning and orthonormalization methods.
chemistry, multidisciplinary
What problem does this paper attempt to address?