Re: helping nfinit
John Cremona <[email protected]> Fri, 15 May 2026 08:56:17 +0100
| Newsgroups | gmane.comp.mathematics.pari.user |
|---|---|
| Message-ID | <CAD0p0K7H7C_YRGWKYj4wyzjZHXgVQRcasRxzHaz77w+20WPvYQ@mail.gmail.com> |
Thanks a lot for that, Bill! In this example all the ap that I provided had the same denominator with respect to the initial basis, and that denominator was prime, which was helpful. Otherwise we would have had to factor all the denominators and add those to the list. John On Thu, 14 May 2026 at 18:51, Bill Allombert <[email protected]> wrote: > > On Thu, May 14, 2026 at 02:04:17PM +0100, John Cremona wrote: > > See the attached file! Thanks, > > Do as follow: > > nf=3Dnfinit([Q,10^6]); > nfcertify(nf) > %19 =3D [6545425927932356901494416423294075041914373124232366212427536292= 711211115092291924219244742700889697195903116862082970096708935542231381790= 884680695406022141577020301773656087196727705609299355376619483658182120111= 992825560366764255151018277314518895454382258049199871732323792656601] > > This is not empty, so nf is not proven correct. > > Rewrite a2-a97 in the integral basis and compute theire denominators: > > S=3DSet([denominator(nfalgtobasis(nf,eval(Str("a",p))))|p<-primes([1,100]= )]) > %32 =3D [1,22123456064832303948084246863379872069425294332835819822927493= 51268269613568089770201] > isprime(S[2]) > %33 =3D 1 > so S[2] is a prime > Now recompute the nf with S[2] added: > nf=3Dnfinit([Q,concat(factor(nf.disc,10^6)[,1],S[2])]); > ? nfcertify(nf) > %49 =3D [1337309617924137708872456535490394688536813660755945721823016779= 604603757989222447784404850926480400514955370596201] > > So now you have to factor this number, but this is not too hard. > > F=3Dfactor(nfcertify(nf)[1])[,1] > %50 =3D [11652785276119009306943,33453572138997299442641,3430518186990900= 226076508080139548308272997052056646116033470256885927]~ > > Add the factor to the list: > > nf=3Dnfinit([Q,concat([factor(nf.disc,10^6)[,1],F,S[2]])]); > nfcertify(nf) > %52 =3D [] > > Now it is proven correct (note that it was already correct at the previou= s step, but this was not proven). > > Cheers, > Bill.