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 dimensions m x n such that S[I[k], J[k]] = V[k]. The combine function is used to combine duplicates. If m and n are not specified, they are set to max(I) and max(J) respectively. If the combine function is not supplied, duplicates are added by default.

sparsevec(I, V[, m, combine])

Create a sparse matrix S of size m x 1 such that S[I[k]] = V[k]. Duplicates are combined using the combine 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 if S is sparse, and false otherwise.

sparse(A)

Convert a dense matrix A into a sparse matrix.

sparsevec(A)

Convert a dense vector A into a sparse matrix of size m 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 case n is supplied, create a sparse identity matrix of size m x n.

spones(S)

Create a sparse matrix with the same structure as that of S, but with every nonzero element having the value 1.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 case rng 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.