ITPACK - Adaptive Iterative Algorithms Using Symetric Sparse Storage
Authors: Kincaid David R. , Grimes Roger G. , Young David M. , MacGregor William I. 
Published: December 2007

Abstract
A preliminary report is given on seven adaptive iterative algorithms for solving large sparse linear systems of equations using symmetric sparse storage formats. The iterative procedures are available as a collection of subroutines known as "ITPACK 1.0." These routines make use of a collection of subprograms known as "SPAPAK" (distributed with ITPACK), which allow interchangeable sparse storage modes to be easily utilized.

Introduction
The Center for Numerical Analysis (CNA) at The University of Texas at Austinis engaged in the development of algorithms for the numerical solution of large sparse linear systems of equations by iterative methods. The emphasis is on systems arising in the numerical solution of elliptic partial differential equations based on finite difference and finite element methods. A package of programs, known as ITPACK 1.0, has been package of programs, known as ITPACK1.0, has been developed based on a number of iterative methods including the Jacobi, successive overrelaxation (SOR), and symmetric successive overrelaxation (SSOR) methods. For the Jacobi and SSOR methods, the convergenceis accelerated either by Chebyshev acceleration (with adaptive determination of the iteration parameters) or by conjugate gradient acceleration. Special procedures are used to determine when the iterative process should be halted. Analogous procedures are used for the SOR method.
Matrices used in ITPACK are stored in a sparse storage format and utilize routines in SPAPAK for matrix-vector operations. SPAPAK is a package written by W. MacGregor and distributed with ITPACK which allows several different sparse storage schemes to be tested with the iterative algorithms. ITPACK and SPAPAK are designed to handle only symmetric matrices. For comparison purposes, symmetric matrices can be stored in nonsymmetric storage schemes in SPAPAK.
ITPACK 1.0 is the successor to the prototype package of programs based on iterative methods described in package of programs based on iterative methods described in [2, 3]. While the iterative algorithms are basically the same, with some refinements, the use of symmetric sparse storage modes in the present version of ITPACK allows a great deal of flexibility and makes it possible to solve a wider class of linear systems. A possible to solve a wider class of linear systems. A feature which will be included in future versions of ITPACK is the ability to treat nonsymmetric linear systems. Moreover, a single sparse storage mode for handling a variety of iterative algorithms may arise from the present study. The current version of ITPACK is a preliminary version and is not designed to take advantage of any block structure in the linear system. However, the iterative algorithms are not restricted to so-called point iterative methods and can be applied to block methods with only a few modifications. It is planned that a future version of ITPACK will employ planned that a future version of ITPACK will employ block iterative schemes.
The iterative solution subroutines in ITPACK are designed to be usable as solution modules in the ELLPACK package for solving elliptic partial differential equations which is being developed at Purdue University.
It should be emphasized that the ultimate goal of the ITPACK project is the development of software and documentation for use in a research environment. it is not intended that production software be developed from this project. However, the resulting code may be applicable to moderate-size industrial problems.
It is anticipated that the ITPACK project will have the following benefits and utilizations:add to existing knowledge of the effectiveness of various iterative algorithms and sparse storage schemes;allow comparisons between various iterative schemes and between iterative and direct methods;provide linear equation-solving modules for ELLPACK;contribute to the development of quality software as a research and teaching tool.