CARP-CG is a conjugate gradient (CG) acceleration of CARP, which was introduced by Gordon and Gordon as a robust block-parallel scheme for sparse linear systems. CARP performs Kaczmarz (KACZ) row projections within the blocks, and the results from the separate blocks are merged by averaging, for each component, its updated values from the different blocks. The averaging operations are equivalent to a sequence of certain KACZ row projections in some superspace (the "averaging projections"), and so CARP is equivalent to KACZ with cyclic relaxation parameters in that superspace. The CG-acceleration of CARP is based on a generalization of the (sequential) CGMN algorithm of Björck and Elfving, which accelerates KACZ by running it in a double sweep on the equations of a linear system, using a fixed relaxation parameter. CGMN is generalized to allow cyclic relaxation parameters, so the resulting method, called CGMNC, can be applied in the superspace. The averaging projections in the superspace can be done in any order, so CGMNC in the superspace can be implemented in the regular space by using CARP in a double sweep. The resulting algorithm, CARP-CG, is as robust as CARP but converges significantly faster. CARP-CG is compared with restarted GMRES, Bi-CGSTAB and CGS, with and without various preconditioners, on some stiff linear systems derived from convection dominated elliptic partial differential equations. The results indicate that CARP-CG is very robust and its runtime is very competitive with the other methods. A scaled version of CGNR was also tested, and it was as robust as CARP-CG, but slower.
Bibliographical noteFunding Information:
This research was supported by grants from the National Institute of Health ( P01 AT003961 , R01 HL131667 ) and American Diabetes Association ( 1–16-IBS-059 ), and a scholarship of China Scholarship Council (No. 201506220204 ).
- Convection dominated
- Elliptic equations
- Linear systems
- Parallel processing
- Partial differential equations
- Sparse systems
ASJC Scopus subject areas
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Computer Graphics and Computer-Aided Design
- Artificial Intelligence