Block CG algorithms revisited
Petr Tichý, Gérard Meurant, Dorota Šimonová
TL;DR
This work clarifies the precise relationship between block Lanczos and block conjugate gradient (BCG) methods under exact arithmetic and full block rank, showing how block Lanczos coefficients can be recovered within BCG and how block Jacobi matrices arise in this context. It introduces practical, rank-deficiency-robust BCG variants, especially the Dubrulle-R (DR-BCG) and Dubrulle-P (DP-BCG) schemes, and demonstrates through numerical experiments that DR-BCG offers superior convergence and accuracy for multiple right-hand sides, both with and without preconditioning. The paper provides a coherent framework to compute block Lanczos coefficients inside BCG, preserves block Jacobi structure, and outlines future work on quadrature-based error bounds and broader variant exploration, with significant implications for efficient large-scale block linear solves. Overall, the results offer a robust, scalable approach to solving block SPD systems in finite precision, with practical guidance on variant selection and preconditioning.
Abstract
Our goal in this paper is to clarify the relationship between the block Lanczos and the block conjugate gradient (BCG) algorithms. Under the full rank assumption for the block vectors, we show the one-to-one correspondence between the algorithms. This allows, for example, the computation of the block Lanczos coefficients in BCG. The availability of block Jacobi matrices in BCG opens the door for further development, e.g., for error estimation in BCG based on (modified) block Gauss quadrature rules. Driven by the need to get a practical variant of the BCG algorithm well suited for computations in finite precision arithmetic, we also discuss some important variants of BCG due to Dubrulle. These variants avoid the troubles with a possible rank deficiency within the block vectors. We show how to incorporate preconditioning and computation of Lanczos coefficients into these variants. We hope to help clarify which variant of the block conjugate gradient algorithm should be used for computations in finite precision arithmetic. Numerical results illustrate the performance of different variants of BCG on some examples.
