flintlib/flint

Multivariate rational functions over the integers mod n

Opened this issue · 5 comments

Finite field methods are frequently used in many areas of theoretical physics. In particular "multivariate rational functions over the integers mod n" would be a useful addition to flint. Is there an easy way to have such objects, essentially having a similar interface like fmpz_mpoly_q, or are there plans to add this to flint?

I suppose this would be pretty easy to implement with the generic rings interface by Fredrik. Ping @fredrik-johansson

Not that this is directly what you want, but we made an implementation of this around a year ago based on flint multivariate polynomials mod n in our project
https://gitlab.com/feynmanintegrals/fuel

See fuel::mod_ratfunc_flint there

@kaelingre Have you looked into Oscar.jl? They support that specific field (not natively, however).

There you should be able to do it by creating a parent object R of type ZZModMPolyRing (which is a FLINT object) by utilizing residue_ring and polynomial_ring, to then create a fraction field K = fraction_field(R).

I can highly recommend Oscar.jl in general, they have excellent developers and a great community.

I haven't heard of Oscar.jl, thanks for the hint! I'll check it out.