Bill Allombert on Thu, 14 May 2026 12:57:33 +0200


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

Re: helping nfinit


On Thu, May 14, 2026 at 11:03:31AM +0100, John Cremona wrote:
> In gp, ?nfinit says that the first parameter must be a polynomial.
> The longer documentation in ??nfinit says that the first parameter can
> be a pair or triple [pol,B], [pol,B,P] or [pol,listP] where B is a
> lift of an integral basis, P and listP are lists of primes.   But the
> example given if nfinit([pol,10^3]) which shows that the second
> parameter can be a bound on the primes and not just a list of primes.
> Perhaps this should be corrected (if I am right)?

See ??nfbasis.

> Also, the situation I am in is that as well as a polynomial pol (monic
> irreducible and integral) defining the field, I have a collection of
> known algebraic integers a2=Mod(g2,pol), a3=Mod(g3,pol), ....   It
> seems that knowing these should help nfinit but I don't see an easy
> way of doing so.   In one example, the degree is 45, the minpolys of
> a2 and a3 (both of full degree) have discriminants which are too large
> to factor but the gcd of their discriminants -- which is the field
> discriminant times a much smaller square -- can be factored.  In my
> example that gcd is 2^10 times an integer with 117 digits which can be
> factored in reasonable time (under a minute on my 10-year-old laptop)
> as the product of 709, 11652785276119009306943,
> 33453572138997299442641,
> 3430518186990900226076508080139548308272997052056646116033470256885927.
>   If I do nfinit([pol,plist]) where plist contains 2 and these primes
> then I can see that the field discriminant is just their product (with
> no factor of 2 and all is well).  So this is an example where knowing
> just pol=minpoly(a2) it is impossible (in practice) to get an integral
> basis, but knowing minpoly(a3) also makes it possible.

Mind sending us your actual data ? 

Cheers,
Bill.