sparsekit


sparsekit, a Fortran77 code which carries out a number of operations on sparse matrices, particularly conversion between various sparse formats.

The code 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:

Licensing:

The computer code and data files described and made available on this web page are distributed under the MIT license.

Languages:

sparsekit is available in a Fortran77 version and a Fortran90 version.

Related Data and Programs:

sparsekit_test

CSPARSE, a C library which carries out the direct solution of sparse linear systems.

DLAP, a Fortran90 library which solves sparse linear systems.

HB_IO, a Fortran90 library which reads and writes sparse linear systems stored in the Harwell-Boeing Sparse Matrix format.

HB_TO_ST, a Fortran77 program which converts the sparse matrix information stored in a Harwell-Boeing file into a sparse triplet file.

MGMRES, a Fortran77 library which applies the restarted GMRES algorithm to solve a sparse linear system.

MM_IO, a Fortran90 library which reads and writes sparse linear systems stored in the Matrix Market format.

SPARSE_CC, a data directory which contains a description and examples of the CC format, ("compressed column") for storing a sparse matrix, including a way to write the matrix as a set of three files.

SPARSE_CR, a data directory which contains a description and examples of the CR format, ("compressed row") for storing a sparse matrix, including a way to write the matrix as a set of three files.

SPARSEKIT2, a Fortran77 library which implements operations on sparse matrices, including conversion between various formats; this is version 2 of the library, by Yousef Saad.

SPARSEPAK, a Fortran90 library which reorders and solves sparse linear systems.

UMFPACK, a Fortran77 library which solves unsymmetric sparse linear systems, by Timothy Davis, Iain Duff.

Reference:

  1. Efstratios Gallopoulos, Youcef Saad,
    Efficient solution of parabolic equations by Krylov approximation methods,
    RIACS Technical Report, 90-14.
  2. Noborou Kikuchi,
    Finite element methods in mechanics,
    Cambridge University Press, 1986.
  3. 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.
  4. Donald Knuth,
    The Art of Computer Programming,
    Volume 3: Sorting and Searching,
    Addison-Wesley, 1973.
  5. Ole Osterby, Zahari Zlatev,
    Direct Methods for Sparse Matrices,
    Springer-Verlag 1983.
  6. Youcef Saad,
    Sparsekit: a basic tool kit for sparse matrix computations,
    Technical Report, Computer Science Department,
    University of Minnesota, June 1994.
  7. Youcef Saad,
    Analysis of some Krylov subspace approximations to the matrix exponential operator,
    RIACS Technical Report, 90-14.
  8. Yousef Saad,
    Iterative Methods for Sparse Linear Systems,
    Second Edition,
    SIAM, 2003,
    ISBN: 0898715342.
  9. 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 December 2023.