Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] absf_v1_0.gz(29 Kbytes)
Manuscript Title: A program generator for the Incomplete Cholesky Conjugate Gradient (ICCG) method with a symmetrizing preprocessor.
Authors: G.K. Petravic, M. Petravic
Program title: GENIC
Catalogue identifier: ABSF_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 22(1981)33
Programming language: Fortran.
Computer: PDP-10/CYBER 172.
Operating system: TOPS-10, VERSION 6.03/NOS 1.3.
Word size: 36
Keywords: General purpose, Matrix, Linear sparse system, Incomplete cholesky, Conjugate gradient, Code generator.
Classification: 4.8.

Nature of problem:
The program generator GENIC and the resultant Incomplete Cholesky Conjugate Gradient (ICCG) solver package SOLIC are applicable to a wide range of physical problems which require the solution of a large sparse system of linear equations: Ax = b where A is a symmetric and positive definite square matrix of rank N. It is also desirable that A be reasonably diagonally dominant, for otherwise the incomplete decomposition used here may be a poor approximation of the complete decomposition and in the worst case the decomposition itself may become unstable. Since this is an iterative method, it is particularly suitable for large systems. The package is most efficient when the nonzero elements of A appear clustered in diagonal bands. Such patterns are often found in implicit finite difference formulations of partial differential equations resulting from modeling of multidimensional physical problems.

Solution method:
For symmetric, positive definite matrices, the Incomplete Cholesky Conjugate Gradient (ICCG) algorithm of Meijerink and Van der Vorst is used. For nonsymmetric matrices which are not diagonally dominant, a symmetrizing preprocessor is generated which transforms Ax=b into A**T Ax= A**T b, where A**T is the transpose of A; after which the standard ICCG algorithm applies.

The generator assumes that the nonzero elements of the sparse matrix occur in diagonal bands, as is often the case with finite difference equations. If this pattern does not pertain, then some unnecessary work corresponding to computation on zeros will be produced.