z-logo
Premium
An introduction to the NSPCG software package
Author(s) -
Kincaid David R.,
Oppe Thomas C.,
Joubert Wayne D.
Publication year - 1989
Publication title -
international journal for numerical methods in engineering
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 1.421
H-Index - 168
eISSN - 1097-0207
pISSN - 0029-5981
DOI - 10.1002/nme.1620270311
Subject(s) - conjugate gradient method , preconditioner , computer science , sparse matrix , computational science , incomplete lu factorization , subroutine , matrix free methods , linear system , block (permutation group theory) , biconjugate gradient method , mathematical software , matrix (chemical analysis) , software , modular design , iterative method , parallel computing , algorithm , matrix decomposition , mathematics , conjugate residual method , programming language , gradient descent , materials science , mathematical analysis , composite material , geometry , quantum mechanics , machine learning , artificial neural network , gaussian , eigenvalues and eigenvectors , physics
NSPCG is the most recent research‐oriented software package developed as part of the ITPACK Project at the Center for Numerical Analysis of The University of Texas at Austin. It is designed to solve large sparse systems of linear equations by a variety of different non‐symmetric preconditioned conjugate gradient methods. Several different sparse data storage schemes are available for storing the coefficient matrix of the linear system. Matrices with a wide range of structures from highly structured to completely unstructured can be accommodated. To limit memory requirements, the accelerators in the package can be called directly with the matrix stored in a user‐defined sparse data storage format (for example, from a particular application) by supplying some user‐written routines for certain matrix–vector operations. The main entry point into the package is through a single subroutine call. The various methods are accessed by using a particular naming convention for the first two parameters that in turn selects a preconditioner, an accelerator and a data storage scheme. Some of the basic preconditioners that are available are Jacobi, Incomplete LU Decomposition and Symmetric Successive Overrelaxation as well as block preconditioners. The user can select from a large collection of accelerators such as Conjugate Gradient (CG), Chebyshev (SI, for semi‐iterative), Generalized Minimal Residual (GMRES), Biconjugate Gradient Squared (BCGS) and many others. The package is modular so that almost any accelerator can be used with almost any preconditioner. One of the main purposes for the development of the package was to provide a common modular structure for research on iterative methods. The entire package is written in Fortran 77 with vectorization in mind for applications on supercomputers.

This content is not available in your region!

Continue researching here.

Having issues? You can contact us here