suitesparse : a suite of sparse matrix software


Click here to DOWNLOAD SuiteSparse from

Now with GraphBLAS and Mongoose

  1. SuiteSparse:  with the latest CUDA-accelerated CHOLMOD and SuiteSparseQR, and GraphBLAS (now with OpenMP parallelism, and MATLAB interface).

  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).  Alternatively, all prior releases have been archived at github:

  3. Click here for more on GraphBLAS (including slides, videos, and papers)

  4. Mongoose 2.0.4: multilevel graph partitioning, based on combinatoric and quadratic programming methods. Appears in SuiteSparse 5.5.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.