Sparse Matrices¶
Sparse matrices support much of the same set of operations as dense matrices. The following functions are specific to sparse matrices.
-
sparse
(I, J, V[, m, n, combine])¶ Create a sparse matrix
S
of dimensionsm x n
such thatS[I[k], J[k]] = V[k]
. Thecombine
function is used to combine duplicates. Ifm
andn
are not specified, they are set tomax(I)
andmax(J)
respectively. If thecombine
function is not supplied, duplicates are added by default.
-
sparsevec
(I, V[, m, combine])¶ Create a sparse matrix
S
of sizem x 1
such thatS[I[k]] = V[k]
. Duplicates are combined using thecombine
function, which defaults to + if it is not provided. In julia, sparse vectors are really just sparse matrices with one column. Given Julia’s Compressed Sparse Columns (CSC) storage format, a sparse column matrix with one column is sparse, whereas a sparse row matrix with one row ends up being dense.
-
sparsevec
(D::Dict[, m]) Create a sparse matrix of size
m x 1
where the row values are keys from the dictionary, and the nonzero values are the values from the dictionary.
-
issparse
(S)¶ Returns
true
ifS
is sparse, andfalse
otherwise.
-
sparse
(A) Convert a dense matrix
A
into a sparse matrix.
-
sparsevec
(A) Convert a dense vector
A
into a sparse matrix of sizem x 1
. In julia, sparse vectors are really just sparse matrices with one column.
-
dense
(S)¶ Convert a sparse matrix
S
into a dense matrix.
-
full
(S)¶ Convert a sparse matrix
S
into a dense matrix.
-
spzeros
(m, n)¶ Create an empty sparse matrix of size
m x n
.
-
speye
(type, m[, n])¶ Create a sparse identity matrix of specified type of size
m x m
. In casen
is supplied, create a sparse identity matrix of sizem x n
.
-
spones
(S)¶ Create a sparse matrix with the same structure as that of
S
, but with every nonzero element having the value1.0
.
-
sprand
(m, n, density[, rng])¶ Create a random sparse matrix with the specified density. Nonzeros are sampled from the distribution specified by
rng
. The uniform distribution is used in caserng
is not specified.
-
sprandn
(m, n, density)¶ Create a random sparse matrix of specified density with nonzeros sampled from the normal distribution.
-
sprandbool
(m, n, density)¶ Create a random sparse boolean matrix with the specified density.