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