High performance extension for sparse matrices.
- General Permutation Matrix PermMatrix,
- Identity Matrix IMatrix,
- Coordinate Format Matrix SparseMatrixCOO,
- Static Matrices SSparseMatrixCSC,SPermMatrixet. al.
with high performance type conversion, kron, and multiplication operations.
Install with the package manager, pkg> add LuxurySparse.
using SparseArrays, LuxurySparse, BenchmarkTools
pm = pmrand(7)  # a random permutation matrix
id = IMatrix(3) # an identity matrix
@btime fastkron(pm, id)   # 96.606 ns
Spm = pm |> SparseMatrixCSC  # convert to SparseMatrixCSC
Sid = id |> SparseMatrixCSC
@btime kron(Spm, Sid)     # 388.817 ns
spm = pm |> staticize        # convert to static matrix, notice that `id` is already static.
@btime fastkron(spm, spm)    # 104.581 ns
@btime fastkron(pm, pm)      # 146.484 nsFor more information, please refer the latest Documentation.
- Change PermMatrixto column major
- Better support of conversion to static matrices