GaloisFields.jl
GaloisFields.jl copied to clipboard
Rings of polynomials over fields
I was wondering if there is an implementation of rings over Galois Fields F[x, y ...]? It seems that SemialgebraicSets
are not supposed to use with custom fields other from R or C. I know about Nemo
, but this is really huge and pretty "monolithic".
Does Polynomials.jl
(single variable only) work for you?
using Polynomials, GaloisFields
const F = GaloisField(29)
f = Poly(F[0, 10], :x)
If you want multi-variate polynomials, there's TypedPolynomials.jl
or my own PolynomialRings.jl
. Both should work; I think PolynomialRings.jl
may have more features and optimizations but it has rough edges too; TypedPolynomials.jl
is a safe bet.
@tkluck It does, but I wonder how can I solve equation of the type f(X) == 0 over finite field? It is needed for example for decoding BCH codes.
I haven't implemented polynomial factorization myself, but it would certainly be a worthwhile addition to the Julia ecosystem.
It's not entirely trivial to implement; see e.g. the wikipedia page on the topic.
Nemo.jl
is probably your best bet in the short run.