In this work we introduce a memory-efficient method for computing the action of a Hermitian matrix function on a vector. Our method consists of a rational Lanczos algorithm combined with a basis compression procedure based on rational Krylov subspaces that only involve small matrices. The cost of the compression procedure is negligible with respect to the cost of the Lanczos algorithm. This enables us to avoid storing the whole Krylov basis, leading to substantial reductions in memory requirements. This method is particularly effective when the rational Lanczos algorithm needs a significant number of iterations to converge and each iteration involves a low computational effort. This scenario often occurs when polynomial Lanczos, as well as extended and shift-and-invert Lanczos are employed. Theoretical results prove that, for a wide variety of functions, the proposed algorithm differs from rational Lanczos by an error term that is usually negligible. The algorithm is compared with other low-memory Krylov methods from the literature on a variety of test problems, showing competitive performance.
翻译:本文提出一种计算厄米矩阵函数与向量乘积的内存高效方法。该方法由有理Lanczos算法与基于有理Krylov子空间的基压缩过程组成,其中仅涉及小规模矩阵。相较于Lanczos算法的计算成本,压缩过程的代价可忽略不计。这使得我们无需存储完整Krylov基,从而大幅降低内存需求。当有理Lanczos算法需要大量迭代次数收敛且每次迭代计算量较小时,该方法尤为有效——此类场景常见于多项式Lanczos、扩展及移位反演Lanczos方法中。理论结果证明:对广泛函数类型,所提算法与有理Lanczos算法的误差项通常可忽略。在多种测试问题中,本文算法与文献中其他低内存Krylov方法的对比表明其具有竞争性表现。