Sparspak.jl icon indicating copy to clipboard operation
Sparspak.jl copied to clipboard

Prepare for finite fields

Open j-fu opened this issue 1 year ago • 4 comments

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.

j-fu avatar Oct 24 '22 22:10 j-fu