suitesparse : a suite of sparse matrix software


Click here to DOWNLOAD SuiteSparse 5.3.0: 

Now with GraphBLAS and Mongoose

  1. SuiteSparse v5.3.0 : with the latest CUDA-accelerated CHOLMOD and SuiteSparseQR, and GraphBLAS 2.0.3.

  2. Click here for an archive of all SuiteSparse versions, and for SuiteSparse 4.6.0 BETA (with a multi-GPU CHOLMOD, presented at NVIDIA GTC16).

  3. Slides for two talks on GraphBLAS: Sparse Days 2017 and HPEC 2017

  4. Click here for GraphBLAS extras (including prior versions and extras like Kronecker products, triangle counting, k-truss algorithms, and my paper on GraphBLAS for the IEEE HPEC’18 conference). These do not appear in the SuiteSparse distribution of GraphBLAS.    MAJOR UPDATE: SuiteSparse:GraphBLAS 2.2.0, with support for CSR/CSC formats, hypersparse matrices, and colon notation now posted.

  5. Mongoose 2.0.2 is now released: multilevel graph partitioning, based on combinatoric and quadratic programming methods. Appears in SuiteSparse 5.3.0.  Click here for our recent submission to ACM TOMS.

SuiteSparse is a suite of sparse matrix algorithms, including:

  1. GraphBLAS: graph algorithms in the language of linear algebra

  2. Mongoose: graph partitioning

  3. ssget: MATLAB and Java interface to the SuiteSparse Matrix Collection

  4. UMFPACK: multifrontal LU factorization.  Appears as LU and x=A\b in MATLAB.

  5. CHOLMOD: supernodal Cholesky.  Appears as CHOL and x=A\b in MATLAB.  Now with CUDA acceleration, in collaboration with NVIDIA.

  6. SPQR: multifrontal QR.  Appears as QR and x=A\b in MATLAB, with CUDA acceleration.

  7. KLU and BTF:  sparse LU factorization, well-suited for circuit simulation. 

  8. Ordering methods (AMD, CAMD, COLAMD, and CCOLAMD).  AMD and COLAMD appear in MATLAB.

  9. CSparse and CXSparse: a concise sparse Cholesky factorization package for my SIAM book.

  10. spqr_rank: a MATLAB package for reliable sparse rank detection, null set bases, pseudoinverse solutions, and basic solutions.

  11. Factorize: an object-oriented solver for MATLAB (a reusable backslash).

  12. SSMULT and SFMULT: sparse matrix multiplication.  Appears as the built-in C=A*B operator in MATLAB.

  13. ... and many other packages. 


    To cite this software, please see my publications page.


The SuiteSparse logo at the top of this page was created via a mathematical algorithm that translates an entire piece of music into a single piece of artwork.  The algorithm is written in MATLAB, and relies on Fourier transforms, sparse matrices, and force-directed graph visualization.  Click here for more information on how I create this art, and here for the full artwork and music behind the SuiteSparse logo.

Windows and CMake:  I do not yet have a build script for Visual Studio.  Only GraphBLAS and Mongoose use CMake.  Try Jose Luis Blanco’s implementation posted on github.


NVIDIA GPU Technology Conference, March 2015:  Sparse QR and sparse Cholesky on the GPU (click here for presentations)

With support from NSF grants 1514406, 1115297, 0620286, 0324609, 0203270, 0119532, and earlier grants.