Sparspak.jl
Sparspak.jl copied to clipboard
Prepare for finite fields
triggered by https://discourse.julialang.org/t/from-toy-to-production-code-with-sparse-matrix-and-sparse-direct-factorizations/89105/13
Just a first try. Not yet ready for merge.
Main blocking things:
- [x] How to pass pivoting strategy ? A the moment it is gussed from the type. EDIT: We can borrow and backport the idea from Julia 1.9.
- [ ] What does _BIGGY() really do ? In the moment I replaced it by typemax(FT) resp. one(FT) for GaloisFields. EDIT: it is used as an "uninitialized" marker. Would have to think a better way.
- [ ] EDIT: scalable, random (?) nonsingular sparse test matrices over finite fields ?
- [x] EDIT: Will have to define more of the pivoting stuff missing in LinearAlgebra for 1.6
- [ ] EDIT EDIT: Finite field packages like GaloisFields.jl need to implement
lupivottype(T)=RowNonZero()
, which should be no problem. However for compiling,abs
,isless
are needed as well. Same in the moment for Julia linear algebra. May be this can be avoided by restructuring the code.
Otherwise, for GaloisFields.jl the PR works.