John Cremona on Tue, 28 Mar 2023 15:25:14 +0200

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: finite fields -- choice of defining polynomial

PS Thanks for the Lubeck reference, which I did not know and which is very interesting. He  explains very well the property of Conway polynomials which  I was using, and also explains how his polynomials and finite field models can also provide the coherent system of roots of unity which we require. And since he has a GAP implementation, it may not be hard to access from Sage (which already uses libgap). So that is 1 out of 3 systems...

On Tue, 28 Mar 2023, 14:14 John Cremona, <> wrote:
Thanks, Bill.  

The reason we want to use Conway polynomials is that they are primitive (the root generates the multiplicative group), and also, crucially, that these roots form a coherent system of all roots of unity of prime-to-ell order in the algebraic closure of F_ell.

I do know that there is no known way to compute them, so that using precomputed lists (for some small values of ell and d) is desirable.  But I bet that a list of all known Conway polynomials would take up less space as an optional package than my database of ellipticcurves of conductor up to 500000! ( I did not check this reckless claim...)

Still, I am glad that ffinit() is deterministic so will not change. 


On Tue, 28 Mar 2023, 12:54 Bill Allombert, <> wrote:
On Tue, Mar 28, 2023 at 10:47:39AM +0000, John Cremona wrote:
> The documentation for ffinit(p,n)  does not seem to allow the user to
> specify their own irreducible polynomial (of degree n over Fp).  Is that
> right?

Hello John,
The only thing ffinit does is to compute an irreducible polynomial.
(I did not choose the name of this function...)

> ffgen(k) does allow k to be an irreducible polynomial rather than the
> output of an ffinit().   If ffgen() is used with a polynomial, can one
> recover the associated ffinit structure, or in some other way do as much
> arithmetic in the field as with an ffinit?

Yes, ffgen does it for you.

> More specifically, has anyone implemented Conway Polynomials in PARI/GP?

Not that I know of.
They are very slow to compute. Magma use precomputed tables to work
around this. If you have such table already, then you can import the polynomial
in GP.

ffgen has the good property to be fast and deterministic.

For an alternative with similar speed but more functorial property I suggest
<> by Franck Lübeck
which is implemented in GAP: