Bill Allombert on Thu, 14 May 2026 19:51:29 +0200


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

Re: helping nfinit


On Thu, May 14, 2026 at 02:04:17PM +0100, John Cremona wrote:
> See the attached file!  Thanks,

Do as follow:

nf=nfinit([Q,10^6]);
nfcertify(nf)
%19 = [6545425927932356901494416423294075041914373124232366212427536292711211115092291924219244742700889697195903116862082970096708935542231381790884680695406022141577020301773656087196727705609299355376619483658182120111992825560366764255151018277314518895454382258049199871732323792656601]

This is not empty, so nf is not proven correct.

Rewrite a2-a97 in the  integral basis and compute theire denominators:

S=Set([denominator(nfalgtobasis(nf,eval(Str("a",p))))|p<-primes([1,100])])
%32 = [1,2212345606483230394808424686337987206942529433283581982292749351268269613568089770201]
isprime(S[2])
%33 = 1
so S[2] is a prime
Now recompute the nf with S[2] added:
nf=nfinit([Q,concat(factor(nf.disc,10^6)[,1],S[2])]);
? nfcertify(nf)
%49 = [1337309617924137708872456535490394688536813660755945721823016779604603757989222447784404850926480400514955370596201]

So now you have to factor this number, but this is not too hard.

F=factor(nfcertify(nf)[1])[,1]
%50 = [11652785276119009306943,33453572138997299442641,3430518186990900226076508080139548308272997052056646116033470256885927]~

Add the factor to the list:

nf=nfinit([Q,concat([factor(nf.disc,10^6)[,1],F,S[2]])]);
nfcertify(nf)
%52 = []

Now it is proven correct (note that it was already correct at the previous step, but this was not proven).

Cheers,
Bill.