Skip to content

Latest commit

 

History

History
74 lines (37 loc) · 3.17 KB

sparse.rst

File metadata and controls

74 lines (37 loc) · 3.17 KB

Base

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.

spones(S)

Create a sparse matrix with the same structure as that of S, but with every nonzero element having the value 1.0.

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.

spdiagm(B, d[, m, n])

Construct a sparse diagonal matrix. B is a tuple of vectors containing the diagonals and d is a tuple containing the positions of the diagonals. In the case the input contains only one diagonaly, B can be a vector (instead of a tuple) and d can be the diagonal position (instead of a tuple). Optionally, m and n specify the size of the resulting sparse matrix.

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.

etree(A[, post])

Compute the elimination tree of a symmetric sparse matrix A from triu(A) and, optionally, its post-ordering permutation.