Replies: 4 comments 7 replies
-
|
Beta Was this translation helpful? Give feedback.
-
For an AbstractSparseMatrix, what are the overloads that are required to be defined, and what are the rules on those functions? |
Beta Was this translation helpful? Give feedback.
-
In that sense, both - just to not to miss the larger picture. For a general, implementation independent AbstractSparseMatrix interface my feeling is that more thinking is needed which might be worth to pursue, but needs time. OTHOH a de-facto AbstractSparseMatrixCSC interface exists, and is used by other packages including LinearSolve.jl without being "official API" due to Disclaimer: I maintain "ExtendableSparse.jl" (which i am currently overhauling) which allows for easy sparse matrix build just using |
Beta Was this translation helpful? Give feedback.
-
@SobhanMP has some nice work on sparse iterators in https://github.com/SobhanMP/SparseExtra.jl/blob/main/src/iternz.jl |
Beta Was this translation helpful? Give feedback.
-
Discuss (missing) API exports /
public
labels and possible further functionality.Currently, we have an implementation of SparseMatrixCSC and a de facto public API for AbstractSparseMatrixCSC which is not documented as such but used e.g. by LinearSolve.jl. #395 proposes to fix this situation, see also #52, #265.
Moreover, there are various discussions on SparseMatrixCSR implementations and related packages. To prevent rank growth it may make sense to have at least a baseline for this in SparseArrays, see #546, #538. May be this could go into some other package.
There seems to be a wish for more general interfaces, #167 goes into this direction.
Interfaces
AbstractSparseMatrixCSC <: AbstractSparseMatrix
AbstractSparseMatrixCSR <: AbstractSparseMatrix (See #538, #546)
AbstractSparseMatrix <: AbstractMatrix
AbstractMatrix:
Beta Was this translation helpful? Give feedback.
All reactions