sparse
sparse matrix definition
Syntax
sp = sparse(X) sp = sparse(ij, v) sp = sparse(ij, v, mn)
Arguments
- X
real or complex or boolean full (or sparse) matrix
- ij
two columns integer matrix (indices of non-zeros entries)
- v
vector
- mn
integer vector with two entries (row-dimension, column-dimension)
- sp
sparse matrix
Description
sparse is used to build a sparse matrix. Only non-zero entries
are stored.
sp = sparse(X) converts a full matrix to sparse form by
squeezing out any zero elements. (If X is already sparse
sp is X).
sp=sparse(ij,v [,mn]) builds an mn(1)-by-mn(2)
sparse matrix with sp(ij(k,1),ij(k,2))=v(k).
ij and v must have the same column dimension.
If optional mn parameter is not given the sp
matrix dimensions are the max value of ij(:,1) and ij(:,2)
respectively.
![]() |
|
Operating sparse matrices
Operations (concatenation, addition, etc,) with sparse matrices are made using the same syntax as for full matrices.
Elementary functions are also available (abs, min, max, sum, diag,...)
for sparse matrices.
Mixed operations (full-sparse) are allowed. Results are full or sparse depending on the operations.
![]() | Any operation involving dense matrices of the same size, either as argument
(e.g. Furthermore, random access to elements ( |
Examples
sp = sparse([1,2;4,5;3,10],[1,2,3]) size(sp) x = rand(2,2); abs(x) - full(abs(sparse(x))) // sparse constructor taking a single dense matrix // removes the zeros. dense = [0., 1., 0., 0., 0., 1., 0., 2., 0., 0. 0., 0., 0., 0., 0. 0., 0., 0., 0., -0.5]; sp = sparse(dense) // complex matrices are also supported sp = sparse(dense*(1+2*%i)) // for boolean matrices, the boolean sparse matrix // only stores true values (and removes false values). dense = [%F, %F, %T, %F, %F %T, %F, %F, %F, %F %F, %F, %F, %F, %F %F, %F, %F, %F, %T]; sp = sparse(dense)
See also
History
| Version | Description |
| 6.0.2 | sparse([],[]) now yields the "(0,0) zero sparse matrix" instead of []. |
| Report an issue | ||
| << sp2adj | Sparse Matrix Conversion | spcompack >> |

