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] abse_v1_0.gz(19 Kbytes)
Manuscript Title: A program generator for the incomplete LU decomposition-conjugate gradient (ILUCG) method.
Authors: G.K. Petravic, M. Petravic
Program title: GENLU
Catalogue identifier: ABSE_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 18(1979)13
Programming language: Fortran.
Computer: PDP 10.
Operating system: TOPS-10, VERSION 6.03.
RAM: 14K words
Word size: 36
Keywords: General purpose, Matrix, Linear sparse system, Incomplete lu Decomposition, Conjugate gradient, Code generator.
Classification: 4.8.

Nature of problem:
The program generator GENLU and the resultant incomplete LU decomposition-conjugate gradient (ILUCG) solver SOLLU are applicable to a wide range of physical problems, in particular those modelled by partial differential equations. Elliptic, parabolic and hyperbolic types of equations are all covered since the method can be used to solve any sparse system of linear equations with a non-singular matrix of coefficients. In practice it is desirable that the matrix be diagonally dominant because otherwise its incomplete LU decomposition may be a very poor approximation to the exact LU.

Solution method:
The incomplete LU decompostion-conjugate gradient method, the ILUCG method, of Kershaw is used. This is a generalization of the incomplete Cholesky conjugate gradient method of Meijerink and Van der Vorst which applies only to positive definite symmetric matrices.

The method will work for systems with any degree of sparsity. However, the particular generator is most efficient for sparse matrices with a definite band structure with only a few zeros in the sub-diagonals containing non-zero coefficients. If these conditions are not satisfied an unnecessarily large amount of redundant expressions will be computed. The generator GENLU also assumes a repetitive block structure, discussed in detail in the long write up. At present the dimensions of arrays which describe the beginnings and ends of diagonal bands in the problem matrix are set at 20, which means not more than 40 bands can appear in the problem matrix. This number, however, can easily be varied by re- dimensioning the common list in GENLU.