SuiteSparse
The official SuiteSparse library: a suite of sparse matrix algorithms authored or co-authored by Tim Davis, Texas A&M University.
Install / Use
/learn @DrTimothyAldenDavis/SuiteSparseREADME
SuiteSparse: A Suite of Sparse matrix packages at http://suitesparse.com
Feb 5, 2026, SuiteSparse VERSION 7.12.2
SuiteSparse is a set of sparse-matrix-related packages written or co-authored by Tim Davis, available at https://github.com/DrTimothyAldenDavis/SuiteSparse .
Primary author of SuiteSparse (codes and algorithms, excl. METIS): Tim Davis
Code co-authors, in alphabetical order (not including METIS or LAGraph): Patrick Amestoy, Mohsen Aznaveh, David Bateman, Jinhao Chen, Yanqing Chen, Iain Duff, Joe Eaton, Les Foster, William Hager, Raye Kimmerer, Scott Kolodziej, Chris Lourenco, Stefan Larimore, Lorena Mejia Domenzain, Erick Moreno-Centeno, Markus Mützel, Corey Nolet, Ekanathan Palamadai, Sivasankaran Rajamanickam, Sanjay Ranka, Wissam Sid-Lakhdar, and Nuri Yeralan.
LAGraph has been developed by the highest number of developers of any of the packages in SuiteSparse and deserves its own list. The list also appears in LAGraph/Contibutors.txt:
Janos B. Antal Budapest University of Technology and Economics, Hungary
Mohsen Aznaveh Texas A&M University
David A. Bader New Jersey Institute of Technology
Georgiy Belyanin St. Petersburg State University
Aydin Buluc Lawrence Berkeley National Lab
Jinhao Chen Texas A&M University
Tim Davis Texas A&M University
Florentin Dorre Technische Univeritat Dresden, Neo4j
Marton Elekes Budapest University of Technology and Economics, Hungary
Alexandra Goff Texas A&M University
Gabriel Gomez Texas A&M University
Semyon Grigoriev St. Petersburg State University
Balint Hegyi Budapest University of Technology and Economics, Hungary
Tanner Hoke Texas A&M University
James Kitchen Anaconda
Scott Kolodziej Texas A&M University
Ilhom Kombaev St. Petersburg State University
Pranav Konduri Texas A&M University
Christina Koutsou Aristotle University of Thessaloniki
Roi Lipman Redis Labs
Tze Meng Low Carnegie Mellon University
Vidith Madhu Texas A&M University
Tim Mattson Intel
Scott McMillan Carnegie Mellon University
Markus Muetzel
Hemanth Mukesh Texas A&M University
Olumayowa Olowomeye Texas A&M University
Casey Pei Texas A&M University
Michel Pelletier Graphegon, OneSparse
Darin Peries Texas A&M University
Cameron Quilici Texas A&M University
Aurko Routh Texas A&M University
Gabor Szarnyas CWI Amsterdam, The Netherlands
Erik Welch Anaconda, then NVIDIA
Carl Yang University of California at Davis, Waymo
Yongzhe Zhang SOKENDAI, Japan
METIS is authored by George Karypis.
Additional algorithm designers: Esmond Ng and John Gilbert.
Refer to each package for license, copyright, and author information.
Documentation
Refer to each package for the documentation on each package, typically in the Doc subfolder.
SuiteSparse branches
- dev: the default branch, with recent updates of features to appear in the next stable release. The intent is to keep this branch in fully working order at all times, but the features will not be finalized at any given time.
- stable: the most recent stable release.
- dev2: working branch. All submitted PRs should made to this branch. This branch might not always be in working order.
SuiteSparse Packages
Packages in SuiteSparse, and files in this directory:
-
AMDapproximate minimum degree ordering. This is the built-in AMD function in MATLAB.
authors: Tim Davis, Patrick Amestoy, Iain Duff
-
binwhere programs are placed when compiled, for
make local -
BTFpermutation to block triangular form
authors: Tim Davis, Ekanathan Palamadai
-
buildfolder for default build tree
-
CAMDconstrained approximate minimum degree ordering
authors: Tim Davis, Patrick Amestoy, Iain Duff, Yanqing Chen
-
CCOLAMDconstrained column approximate minimum degree ordering
authors: Tim Davis, Sivasankaran Rajamanickam, Stefan Larimore.
Algorithm design collaborators: Esmond Ng, John Gilbert (for COLAMD)
-
ChangeLoga summary of changes to SuiteSparse. See
*/Doc/ChangeLogfor details for each package. -
CHOLMODsparse Cholesky factorization. Requires AMD, COLAMD, CCOLAMD, the BLAS, and LAPACK. Optionally uses METIS. This is
cholandx=A\bin MATLAB.author for all modules: Tim Davis
CHOLMOD/Modify module authors: Tim Davis and William W. Hager
CHOLMOD/SuiteSparse_metis: a modified version of METIS, embedded into the CHOLMOD library. See the README.txt files for details. author: George Karypis. This is a slightly modified copy included with SuiteSparse via the open-source license provided by George Karypis. SuiteSparse cannot use an unmodified copy of METIS.
-
CITATION.bibcitations for SuiteSparse packages, in bibtex format.
-
CMakeLists.txtoptional, to compile all of SuiteSparse. See below.
-
CODE_OF_CONDUCT.mdcommunity guidelines
-
COLAMDcolumn approximate minimum degree ordering. This is the built-in COLAMD function in MATLAB.
authors (of the code): Tim Davis and Stefan Larimore
Algorithm design collaborators: Esmond Ng, John Gilbert
-
Contents.ma list of contents for 'help SuiteSparse' in MATLAB.
-
CONTRIBUTING.mdhow to contribute to SuiteSparse
-
CONTRIBUTOR-LICENSE.txtrequired contributor agreement
-
CSparsea concise sparse matrix package, developed for my book, "Direct Methods for Sparse Linear Systems", published by SIAM. Intended primarily for teaching. Note that the code is (c) Tim Davis, as stated in the book.
For production, use CXSparse instead. In particular, both CSparse and CXSparse have the same include filename:
cs.h. This package is used for the built-in DMPERM in MATLAB.author: Tim Davis
-
CXSparseCSparse Extended. Includes support for complex matrices and both int or long integers. Use this instead of CSparse for production use; it creates a libcsparse.so (or dylib on the Mac) with the same name as CSparse. It is a superset of CSparse. Any code that links against CSparse should also be able to link against CXSparse instead.
author: Tim Davis, David Bateman
-
Examplea simple package that relies on almost all of SuiteSparse
-
.githubworkflows for CI testing on GitHub.
-
GraphBLASgraph algorithms in the language of linear algebra.
https://graphblas.org
authors: Tim Davis, Joe Eaton, Corey Nolet
-
includemake installplaces user-visible include files for each package here, aftermake local. -
KLUsparse LU factorization, primarily for circuit simulation. Requires AMD, COLAMD, and BTF. Optionally uses CHOLMOD, CAMD, CCOLAMD, and METIS.
authors: Tim Davis, Ekanathan Palamadai
-
LAGrapha graph algorithms library based on GraphBLAS. See also https://github.com/GraphBLAS/LAGraph
Authors: many.
-
LDLa very concise LDL' factorization package
author: Tim Davis
-
libmake installplaces shared libraries for each package here, aftermake local. -
LICENSE.txtcollected licenses for each package.
-
Makefileoptional, to compile all of SuiteSparse using
make, which is used as a simple wrapper forcmakein each subproject.-
makecompiles SuiteSparse libraries. Subsequent
make installwill install inCMAKE_INSTALL_PATH(might default to/usr/local/libon Linux or Mac). -
make localcompiles SuiteSparse. Subsequent
make installwill install in./lib,./include. Does not install inCMAKE_INSTALL_PATH. -
make globalcompiles SuiteSparse libraries. Subsequent
make installwill install in/usr/local/lib(or whatev
-
