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 >> |