A sparse matrix is a data structure in which not every entry is explicitly represented. Related are sparse matrix algorithms and data structures, along with questions about implementation and analyses.
Sparse matrices are matrices with very few non-zero entries. For some cases, sparse matrices refer to matrices with few entries and the rest of the matrix remains undefined (e.g. NaN
or NA
). This has mathematical and computational implications.
See this Wikipedia entry for a brief overview of concepts.
The mathematical impact may be that the matrix is not invertible, which can impact a variety of algorithms. Data structures are usually affected, as representation of sparse matrices may be more compact than for a dense matrix. Finally, algorithms may be affected, as they may be optimized for application to just the non-zero entries, rather than perform calculations over all entries.
Each of these areas -- math, data structures, and algorithms -- affects the developers, researchers, and users involved in working with sparse matrices.
One scientific software supporting sparse matrices is matlab. It has a compact representation of sparse matrices, and the ability to utilize this property for efficient computations. For more information see Matlab documentation on sparse matrices.
The r scientific software for statistic computing and graphics supports sparse matrices via Matrix package. This package comes with any R distribution and can be loaded by library(Matrix)
in an R session. See its package manual for more.