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
Sof dimensionsm x nsuch thatS[I[k], J[k]] = V[k]. Thecombinefunction is used to combine duplicates. Ifmandnare not specified, they are set tomax(I)andmax(J)respectively. If thecombinefunction is not supplied, duplicates are added by default.
-
sparsevec(I, V[, m, combine])¶ Create a sparse matrix
Sof sizem x 1such thatS[I[k]] = V[k]. Duplicates are combined using thecombinefunction, 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 1where the row values are keys from the dictionary, and the nonzero values are the values from the dictionary.
-
issparse(S)¶ Returns
trueifSis sparse, andfalseotherwise.
-
sparse(A) Convert a dense matrix
Ainto a sparse matrix.
-
sparsevec(A) Convert a dense vector
Ainto 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
Sinto a dense matrix.
-
full(S)¶ Convert a sparse matrix
Sinto 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 casenis 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 caserngis 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.