LuxurySparse.jl
                                
                                
                                
                                    LuxurySparse.jl copied to clipboard
                            
                            
                            
                        A luxury sparse matrix package for Julia
register
@JuliaRegistrator register()
the 3-arg and 5-arg `mul!` is quite useful for ODE solvers, e.g the 5-arg `mul!` can be used in ODE solver directly and has no allocation comparing to `apply!` in...
I think now Julia broadcast uses a StructuredMatrix style to promote it to `SparseMatrixCSC`, no need to overload it anymore https://github.com/QuantumBFS/LuxurySparse.jl/blob/cc2d19a368b1107e9119efda90b0110c4b009c2a/src/arraymath.jl#L41
```julia julia> coo1 = SparseMatrixCOO( [1, 4, 2, 3, 3, 3], [1, 1, 2, 4, 3, 4], [0.1, 0.2, 0.4im, 0.5, 0.3, 0.5im], 4, 4, ) 4×4 SparseMatrixCOO{Complex{Float64},Int64}: 0.1+0.0im 0.0+0.0im...
Right now, I'm working on in-place, CPU versions of `kronsum(A,B) = kron(A, oneunit(B)) + kron(oneunit(A), B)` So far, this works for dense arrays: ```julia function kronsum!(C::AbstractMatrix, A::AbstractMatrix, B::AbstractMatrix) Base.require_one_based_indexing(A, B)...
This package contains a lot workarounds which contains type piracy, need to check if they are in Base already or PR to upstream.