Bill Allombert on Tue, 05 Dec 2023 23:33:46 +0100


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

Re: getting strange ellheight() error for number field point and curve


On Mon, Dec 04, 2023 at 05:25:32PM -0800, American Citizen wrote:
> Hi:
> 
> minimal m[1..5] = [1, 0, 0, -114223080, -283150929600]
> pt=[29099, 4571616.001890359167852374954252793155119185143350555006071823347634514965562343989206397255762390603970823616017868766947483185076860275462218345407187946353537171824424767170799129381839037]
> y=[-29099/2, 1/2, 84131656042917]
> which is y = -29099/2 + 1/2 * sqrt(84131656042917)
> p=[29099, Mod(1/2*a - 29099/2, a^2 - 84131656042917)]
> point is on curve m [1, 0, 0, -114223080, -283150929600] --> 1
> F[1] = [0, 0, 0, -5482707841/48, -244634179112639/864]
> P[1] = [349189/12, Mod(1/2*a, a^2 - 84131656042917)]
> is on curve: 1
> 
> this works out good for all 8 curves and the point on the curve.
> 
> NF = nfinit(a^2 - 84131656042917)
> FN=ellinit(F[1],NF);
> Then we try to find the height as ellheight(FN,pt)
>   ***   at top-level: find_iso_hts(e)
>   ***                 ^---------------
>   ***   in function find_iso_hts: ... ellheight(FN,pt)");H[i]=
>   ***   ellheight(FN,P[i]);pr
>   ***   ^---------------------
>   *** ellheight: impossible inverse in Fl_inv: Mod(0, 2).

Alas, this is a bug in PARI 
(ellheight does not handle non-minimal models over a number field correctly).

Until we fix it, I suggest you do

NF = nfinit(a^2 - 84131656042917);
F1 = ellinit([0, 0, 0, -5482707841/48, -244634179112639/864]);
P1 = [349189/12, Mod(1/2*a, a^2 - 84131656042917)];
MF1 = ellminimalmodel(F1,&urst);
MFN = ellinit(MF1,NF);
MP1 = ellchangepoint(P1,urst);
ellisoncurve(MFN,MP1)
ellheight(MFN,MP1)

%8 = 20.912087636398176541299794149336289140

Cheers,
Bill.