Next: Usage
Up: ITPACK 2C: A FORTRAN
Previous: Introduction
Sparse Matrix Storage
The sparse storage scheme used in ITPACK is a common one. It is a
row-wise representation of the nonzero entries in the coefficient matrix
of the linear system. For a nonsymmetric coefficient matrix, all of the
nonzero values in each row are stored in a contiguous block of data in a
real-valued array A(*). If the matrix is symmetric, computer
memory can be saved by storing only the nonzero entries in each row on
and above the main diagonal. For either nonsymmetric or symmetric sparse
storage, associated column numbers are stored in an integer-valued
array JA(*) such that
is the column number for the
value
.
A mapping vector IA(*) is used to denote the
starting locations of each of the contiguous blocks. The beginning of
the linear block for row I is given by
,
the end by
,
and its length by
.
Thus,
IA(*) will contain
elements to accommodate a linear
system of order N. The entries for each row may be stored in any
order in the contiguous block for that row.
For example, the coefficient matrix
would be represented in nonsymmetric sparse storage as
and in symmetric sparse storage as
Next: Usage
Up: ITPACK 2C: A FORTRAN
Previous: Introduction