The following ArrayInterface functions extend Julia's Base LinearAlgebra interface to improve the ability to do sparse linear algebra.
These routines allow for improving sparse iteration and indexing.
ArrayInterface.isstructured
ArrayInterface.findstructralnz
ArrayInterface.has_sparsestruct
Many routines require calculating the coloring of a matrix, such as for sparse
differentation. The matrix_colors
function is the high level function which
returns a color vector Vector{Int}
with the column colors. This function
is overloaded for many special matrix types with analytical solutions for the
matrix colors.
ArrayInterface.fast_matrix_colors
ArrayInterface.matrix_colors
For the general dispatch of matrix_colors
, see SparseDiffTools.jl
for a full graph-based coloring algorithm which extends ArrayInterface.
If dealing with general sparse arrays, consider:
- SparseDiffTools.jl: A general set of tools for extending calculus libraries for sparse optimizations.
- LinearSolve.jl: An extended linear solving library with support for generic sparse arrays.