CSPARSE
A Concise Sparse Matrix Package in C


CSPARSE is a C library which implements a number of direct methods for sparse linear systems.

The algorithms contained in CSPARSE have been chosen with five goals in mind:

  1. they must embody much of the theory behind sparse matrix algorithms,
  2. they must be either asymptotically optimal in their run time and memory usage or be fast in practice,
  3. they must be concise so as to be easily understood and short enough to print in the book,
  4. they must cover a wide spectrum of matrix operations,
  5. they must be accurate and robust.
The focus is on direct methods; iterative methods and solvers for eigenvalue problems are beyond the scope of this package.

Related Data and Programs:

DLAP is a library of FORTRAN90 routines for solving sparse linear systems.

HB_IO is a library of FORTRAN90 routines for reading and writing sparse linear systems stored in the Harwell-Boeing Sparse Matrix format.

HB_TO_ST is an executable FORTRAN77 program which converts the sparse matrix information stored in a Harwell-Boeing file into a sparse triplet file.

MGMRES is a C++ routine which applies the restarted GMRES algorithm to solve a sparse linear system.

MM_IO is a library of FORTRAN90 routines for reading and writing sparse linear systems stored in the Matrix Market format.

NSPCG is a library of FORTRAN90 routines for nonsymmetric preconditioned conjugate gradient methods applied to sparse matrices.

SPARSE is a built-in MATLAB function for defining sparse matrices.

SPARSE_CC is 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 is 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.

SPARSEKIT is a library of FORTRAN90 routines by Yousef Saad for sparse matrix operations.

SPARSEPAK is a library of FORTRAN90 routines that form an obsolete version of the Waterloo Sparse Matrix Package.

ST is a data directory which contains examples and an explanation of the Sparse Triplet file format for sparse matrices.

Author:

Timothy Davis

License:

CSPARSE: a Concise Sparse matrix package.
Copyright (c) 2006, Timothy A. Davis.
http://www.cise.ufl.edu/research/sparse/CSparse

CSPARSE is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

CSPARSE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this Module; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Reference:

  1. Timothy Davis,
    Direct Methods for Sparse Linear Systems,
    SIAM, 2006,
    ISBN: 0898716136,
    LC: QA188.D386.

Source Code:

Examples and Tests:

csparse_demo1 reads an ST matrix from a file and performs basis matrix operations.

csparse_demo2 reads an ST matrix from a file and solves a linear system.

csparse_demo3 reads an ST matrix from a file, solves a linear system, and performs and update/downdate.

List of Routines:

You can go up one level to the C source codes.


Last revised on 10 March 2006.