/SparseMatrixLILs.jl

List of lists data structure for sparse matrices, which enables incremental construction of sparse matrices

Primary LanguageJuliaOtherNOASSERTION

SparseMatrixLILs

Build Status codecov.io

This package implements a sparse matrix data structure stored as a list of lists (namely, Vector{SparseVector{Tv,Ti}}).

The SparseMatrixCSC data structure needs to copy/update the entire matrix every time that a non-stored value is updated, most of the time. That is, when setindex! is used to update a non-stored position, SparseMatrixCSC has a time complexity of O(nnz), where nnz is the number of non-zeros.

The list of lists (LIL) sparse matrix format, SparseMatrixLIL allows for faster incremental sparse matrix construction. setindex! for SparseMatrixLIL has a time complexity of O(d) when you update a non-stored value, where d is the number of non-zeros in a column of the matrix.

This package is primarily meant to be used by DynaWAVE.jl.

Installation

Pkg.clone("https://github.com/vvjn/SparseMatrixLILs.jl")