Nemo.jl
Nemo.jl copied to clipboard
Development roadmap for Nemo
The following is a list of modules and other major components that remain to be implemented for Nemo.
GF(p)
- [X] GF(p) using nmod
- [ ] GF(p) using fmpz_mod
Relative power series
- [ ] arb_rel_series
- [ ] acb_rel_series
Laurent series
- [ ] fmpq_laurent_series
- [ ] nmod_laurent_series
- [ ] fmpz_mod_laurent_series
- [ ] fq_laurent_series
- [ ] fq_nmod_laurent_series
- [ ] arb_laurent_series
- [ ] acb_laurent_series
Puiseux series
- [ ] fmpq_puiseux_series
- [ ] nmod_puiseux_series
- [ ] fmpz_mod_puiseux_series
- [ ] fq_puiseux_series
- [ ] fq_nmod_puiseux_series
- [ ] arb_puiseux_series
- [ ] acb_puiseux_series
Absolute power series
- [ ] arb_abs_series
- [ ] acb_abs_series
- [ ] nmod_abs_series
Univariate polynomials
- [ ] O(d^2) Resultant over Z/nZ
- [ ] O(d^2) Reduced resultant over Z/nZ
- [ ] Polynomial time (??) Resx over Z/nZ (open problem)
Multivariate polynomials
- [ ] fmpz_mpoly
- [X] fmpq_mpoly
- [ ] nmod_mpoly
Number field arithmetic
- [ ] nf_elem_poly
- [ ] nf_elem_mat
Integer factorisation
- [ ] Smooth factoring
- [ ] Best of breed factoring
- [ ] Primality testing with certificate
Polynomial factorisation
- [ ] Pruned Zassenhaus over ZZ
- [ ] Multivariate factorisation over ZZ
- [ ] Multivariate factorisation over Z/pZ
- [ ] Univariate factorisation over number field
- [ ] Univariate irreducibility testing
Polynomial GCD
- [ ] Sparse GCD
- [ ] fmpz_mpoly_gcd
- [ ] nmod_mpoly_gcd
- [X] fmpq_mpoly_gcd
Miscellaneous
- [ ] Use Conda for binaries
- [ ] Citations module
- [ ] Julia serialisation
- [ ] Flint integration with Julia GC (nomangle fmpz pointers)
- [ ] Flint exception handling
- [ ] Handle impossible inverses over Z/nZ in Flint (CRT)
Performance issues
- [ ] Charpoly over Z with dim > 200
- [ ] O(n^3) minpoly (open problem)
- [ ] Determinant over Z
- [ ] Inverse of matrix over Z (with denominator)
- [ ] Determinant over Z/nZ
- [ ] Rank over F_p[x]
- [ ] Nullspace over F_p[x]