next up previous contents
Next: Usage Up: NSPCG User's Guide Previous: List of Tables

   
Introduction

NSPCG is a computer package to solve large sparse systems of linear equations by iterative methods. The package uses various acceleration techniques, such as the conjugate gradient method, Chebyshev acceleration and various generalized conjugate gradient methods for nonsymmetric systems, in conjunction with various preconditioners (or, basic iterative methods). NSPCG was developed as part of the ITPACK project of the Center for Numerical Analysis at The University of Texas at Austin [14,15,16].

Some of the salient features of the package are as follows:

One of the purposes for the development of the NSPCG package was to investigate the suitability of various basic iterative methods for vector computers. The degree of vectorization that is possible for a particular iterative method often depends on the underlying structure of the matrix, the data structure used for the matrix representation, the ordering used for the equations, and the vector computer being used. NSPCG allows several sparse matrix data structures suitable for matrices with regular or irregular structures. Also, various orderings can be given to the equations to enhance vectorization of the basic iterative method. Finally, the package has been written so that it can be installed on supercomputers with different vectorizing philosophies (e.g., memory-to-memory computations as with the Cyber 205 computer or register-to-register computations as with the Cray computers). Another purpose for the development of the NSPCG package was to provide a common modular structure for research on iterative methods. In addition to providing a large number of preconditioners and accelerators, the package has been constructed to facilitate the addition of new preconditioners and new acceleration schemes into the package. Thus, the package is an experimental research tool for evaluating certain aspects of iterative methods and can provide a guide for the construction of an iterative algorithm which is tailored to a specific problem. The code is not intended to be used in production situations, but it can provide information on



This information can then be used in designing a production iterative code.


next up previous contents
Next: Usage Up: NSPCG User's Guide Previous: List of Tables