Main Content

Sparse Matrices

Elementary sparse matrices, reordering algorithms, iterative methods, sparse linear algebra

Sparse matrices provide efficient storage of double or logical data that has a large percentage of zeros. While full (or dense) matrices store every single element in memory regardless of value, sparse matrices store only the nonzero elements and their row indices. For this reason, using sparse matrices can significantly reduce the amount of memory required for data storage.

All MATLAB® built-in arithmetic, logical, and indexing operations can be applied to sparse matrices, or to mixtures of sparse and full matrices. Operations on sparse matrices return sparse matrices and operations on full matrices return full matrices. For more information, see Computational Advantages of Sparse Matrices and Constructing Sparse Matrices.


expand all

spallocAllocate space for sparse matrix
spdiagsExtract nonzero diagonals and create sparse band and diagonal matrices
speyeSparse identity matrix
sprandSparse uniformly distributed random matrix
sprandnSparse normally distributed random matrix
sprandsymSparse symmetric random matrix
sparseCreate sparse matrix
spconvertImport from sparse matrix external format
issparseDetermine whether input is sparse
nnzNumber of nonzero matrix elements
nonzerosNonzero matrix elements
nzmaxAmount of storage allocated for nonzero matrix elements
spfunApply function to nonzero sparse matrix elements
sponesReplace nonzero sparse matrix elements with ones
spparmsSet parameters for sparse matrix routines
spyVisualize sparsity pattern of matrix
findFind indices and values of nonzero elements
fullConvert sparse matrix to full storage
dissectNested dissection permutation
amdApproximate minimum degree permutation
colamdColumn approximate minimum degree permutation
colpermSparse column permutation based on nonzero count
dmpermDulmage-Mendelsohn decomposition
randpermRandom permutation of integers
symamdSymmetric approximate minimum degree permutation
symrcmSparse reverse Cuthill-McKee ordering
pcgSolve system of linear equations — preconditioned conjugate gradients method
lsqrSolve system of linear equations — least-squares method
minresSolve system of linear equations — minimum residual method
symmlqSolve system of linear equations — symmetric LQ method
gmresSolve system of linear equations — generalized minimum residual method
bicgSolve system of linear equations — biconjugate gradients method
bicgstabSolve system of linear equations — stabilized biconjugate gradients method
bicgstablSolve system of linear equations — stabilized biconjugate gradients (l) method
cgsSolve system of linear equations — conjugate gradients squared method
qmrSolve system of linear equations — quasi-minimal residual method
tfqmrSolve system of linear equations — transpose-free quasi-minimal residual method
equilibrateMatrix scaling for improved conditioning
ichol Incomplete Cholesky factorization
iluIncomplete LU factorization
eigsSubset of eigenvalues and eigenvectors
svdsSubset of singular values and vectors
normest2-norm estimate
condest1-norm condition number estimate
sprankStructural rank
etreeElimination tree
symbfactSymbolic factorization analysis
spaugmentForm least-squares augmented system
dmpermDulmage-Mendelsohn decomposition
etreeplotPlot elimination tree
treelayoutLay out tree or forest
treeplotPlot picture of tree
gplotPlot nodes and edges in adjacency matrix
unmeshConvert edge matrix to coordinate and Laplacian matrices