sparsekit
sparsekit,
a Fortran90 code which
carries out a number of
operations on sparse matrices, particularly conversion between
various sparse formats.
sparsekit() can manipulate sparse matrices in a variety of formats,
and can convert from one to another. For example, a matrix can be
converted from the generalized diagonal format used by ELLPACK() and
ITPACK() to the format used by the Harwell-Boeing Sparse Matrix
Collection or into LINPACK() banded format.
Utilities available include converting data structures, printing simple
statistics on a matrix, plotting a matrix profile, performing basic
linear algebra operations (similar to the BLAS for dense matrix),
and so on.
Matrix formats that are recognized include:
-
BND, the LINPACK() format for general banded matrices.
-
BSR, block row sparse format.
-
COO, coordinate format.
-
CSC, compressed sparse column format.
-
CSR, compressed sparse row format.
-
DIA, the diagonal sparse matrix format (NOT a diagonal matrix!).
-
DIAG, a diagonal matrix, stored as a vector.
-
DNS, dense storage, also called full storage.
-
ELL, the format used by ELLPACK() and ITPACK().
-
HB, Harwell-Boeing format. (Actually, CSR format plus auxilliary data)
-
JAD, the jagged diagonal format.
-
LNK, linked storage format.
-
MSC, modified sparse column format.
-
MSR, modified sparse row format.
-
SSK, Symmetric skyline format.
-
SSR, Symmetric sparse row format.
Licensing:
The information on this web page is distributed under the MIT license.
Languages:
sparsekit is available in
a Fortran90 version.
Related Data and Programs:
sparsekit_test
dlap,
a Fortran90 code which
solves sparse linear systems.
hb_io,
a Fortran90 code which
reads and writes sparse linear
systems stored in the Harwell-Boeing Sparse Matrix format.
hb_to_st,
a Fortran77 code which
converts the sparse matrix information stored in a Harwell-Boeing
file into a sparse triplet file.
MGMRES,
a Fortran90 code which
applies the restarted GMRES algorithm
to solve a sparse linear system.
mm_io,
a Fortran90 code which
reads and writes sparse linear
systems stored in the Matrix Market format.
sparse_ccs,
a data directory which
contains a description and examples of the CCs format,
("compressed column sparse") for storing a sparse matrix,
including a way to write the matrix as a set of three files.
sparse_crs,
a data directory which
contains a description and examples of the CRS format,
("compressed row sparse") for storing a sparse matrix,
including a way to write the matrix as a set of three files.
sparsepak,
a Fortran90 code which
reorders and solves sparse linear systems.
Reference:
-
Efstratios Gallopoulos, Youcef Saad,
Efficient solution of parabolic equations by Krylov
approximation methods,
RIACS Technical Report, 90-14.
-
Noborou Kikuchi,
Finite element methods in mechanics,
Cambridge University Press, 1986.
-
David Kincaid, Thomas Oppe, John Respess, David Young,
ITPACKV 2C User's Guide,
Technical Report CNA-191.
Center for Numerical Analysis,
University of Texas at Austin, 1984.
-
Donald Knuth,
The Art of Computer Programming,
Volume 3: Sorting and Searching,
Addison-Wesley, 1973.
-
Ole Osterby, Zahari Zlatev,
Direct Methods for Sparse Matrices,
Springer-Verlag 1983.
-
Youcef Saad,
Sparsekit: a basic tool kit for sparse matrix computations,
Technical Report, Computer Science Department,
University of Minnesota, June 1994.
-
Youcef Saad,
Analysis of some Krylov subspace approximations to the
matrix exponential operator,
RIACS Technical Report, 90-14.
-
Yousef Saad,
Iterative Methods for Sparse Linear Systems,
Second Edition,
SIAM, 2003,
ISBN: 0898715342.
-
Zahari Zlatev, Kjeld Schaumburg, Jerzy Wasniewski,
A testing Scheme for Subroutines Solving Large Linear Problems,
Computers and Chemistry,
Volume 5, Number 2-3, pages 91-100, 1981.
Source Code:
Last revised on 19 November 2024.