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

Rings of polynomials over fields

Open kirtsar opened this issue 5 years ago • 3 comments

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".

kirtsar avatar Jan 20 '20 21:01 kirtsar

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 avatar Jan 21 '20 11:01 tkluck

@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.

kirtsar avatar Jan 21 '20 11:01 kirtsar

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.

tkluck avatar Jan 21 '20 12:01 tkluck