// ELLIPTIC CHABAUTY COMPUTATIONS // ======================================== // Case d=1 // Define the field, the hyperelliptic curve and the ellitpic curve _:=PolynomialRing(Rationals()); K:=NumberField(x^2-6); KK:=PolynomialRing(K); q1:=(5+2*a)*(5 - 6*t - 2*a*t + 6*t^2); p1:=(-1 - 4*t + 6*t^2); O:=MaximalOrder(K); ZZ:=Integers(); H1:=HyperellipticCurve(p1*q1); // The elliptic curve is defined using the good points with t=1 // Q1:=H1![1,1]; E1,map1:=EllipticCurve(H1,Q1); map1:=Extend(map1); map1; as1:=aInvariants(E1); as1; // The points with t=1 go respectively to 0 and Q1: map1(Q1); Q1E:=map1(H1![1,-1]); Q1E; /* Mapping from: CrvHyp: H1 to CrvEll: E1 with equations : (-14*a - 29)*T^3 + (40*a + 73)*T^2*U - 2*T*W + (-38*a - 61)*T*U^2 + 2*W*U + (12*a + 17)*U^3 (28*a + 58)*T^3 + (-52*a - 88)*T^2*U + 4*T*W + (24*a + 34)*T*U^2 -T^3 + 3*T^2*U - 3*T*U^2 + U^3 and inverse Y*Z 2*X^3*Z + (-24*a - 34)*X^2*Z^2 + (2*a + 10)*X*Y*Z^2 - Y^2*Z^2 2*X*Z + Y*Z and alternative equations : 1/79507*(23147802*a + 56722554)*T^4 + 1/79507*(-53372604*a - 130828470)*T^3*U + 1/79507*(437148*a + 1054548)*T^2*W + 1/79507*(35755484*a + 87478332)*T^2*U^2 + 1/79507*(-205800*a - 522780)*T*W*U + 1/79507*(-2279088*a - 6211938)*T*U^3 + 1/1849*(-642*a - 1440)*W^2 + 1/79507*(-231348*a - 531768)*W*U^2 + 1/79507*(-3223988*a - 7098558)*U^4 1/79507*(-35670132*a - 87311772)*T^3*U + 1/79507*(-874296*a - 2109096)*T^2*W + 1/79507*(47925444*a + 117771648)*T^2*U^2 + 1/79507*(-462696*a - 1063536)*T*W*U + 1/79507*(-10761744*a - 24814534)*T*U^3 + 1/79507*(-72227*a - 200557)*W^2 + 1/79507*(-3811245*a - 9347545)*U^4 T*U^3 + 1/159014*(2129*a + 749)*W^2 + 1/79507*(-280*a - 13692)*W*U^2 + 1/159014*(-1569*a - 132379)*U^4 [ -2*a - 10, -24*a - 34, 38*a + 22, 448*a + 1253, 0 ] (0 : 1 : 0) (0 : -38*a - 22 : 1) */ // Now define the map u. P1 := ProjectiveSpace(Rationals(),1); w1:=map< H1->P1 | [X,Z] >; u1:= Extend(Inverse(map1)*w1); u1; /* Mapping from: CrvEll: E1 to Prj: P1 with equations : Y*Z 2*X*Z + Y*Z and alternative equations : 1/2*Y X + 1/2*Y 4*X^2 - 2*X*Y + Y^2 + (-96*a - 136)*X*Z + (56*a + 108)*Y*Z + (1792*a + 5012)*Z^2 Y^2 + (56*a + 116)*Y*Z + (2096*a + 5188)*Z^2 */ // Now we show that the point P0:=[0,0] and the 2-torsion point T0 // generates a group of finite index in E(K); also show that Q1E // is equal to -P0. Etors, EtorsMap := TorsionSubgroup(E1); T0:=EtorsMap(Etors.1); T0; two := MultiplicationByMMap(E1, 2); mu, tor := IsogenyMu(two); S2E, toS2E := SelmerGroup(two); S2E; P0:=E1![0,0]; gs := [ T0,P0 ]; S2P:=sub< S2E | [ toS2E(mu(g)) : g in gs ] >; S2P; S2P eq S2E; Q1E eq -P0; G := AbelianGroup([ 2, 0 ]); GtoEK := map< G -> E1 | g :-> &+[ c[i]*gs[i] : i in [1..#gs] ] where c := Eltseq(g) >; /* (2*a - 7 : -16*a - 34 : 1) Abelian Group isomorphic to Z/2 + Z/2 Defined on 2 generators in supergroup: S2E.1 = $.1 + $.2 + $.5 + $.6 + $.8 + $.9 + $.11 S2E.2 = $.12 Relations: 2*S2E.1 = 0 2*S2E.2 = 0 Abelian Group isomorphic to Z/2 + Z/2 Defined on 2 generators in supergroup: S2E.1 = $.1 + $.2 + $.5 + $.6 + $.8 + $.9 + $.11 S2E.2 = $.12 Relations: 2*S2E.1 = 0 2*S2E.2 = 0 true true */ // We show that the point P0 is not divisible by p=3,5,7,11,13. IsDivisibleBy(P0,3); IsDivisibleBy(P0,5); IsDivisibleBy(P0,7); IsDivisibleBy(P0,11); IsDivisibleBy(P0,13); /* false false false false false */ // We compute the "relevant residue classes": point in the reduction // which have "rational image" by u. // First we compute the reduction and the group generated by the reduction of P0 and T0, modulo p=11. primo:=11; Er,mapr:=Reduction(E1,primo*O); k,tok:=ResidueClassField(primo*O); Pr:=mapr(P0); Pr; Tr:=mapr(T0); Tr; OPr:=Order(Pr); OPr; ErPEK:=[<[i,j],i*Pr+j*Tr> : i in [0..OPr-1], j in [0..1]]; ErPEK; /* (0 : 0 : 1) (2*$.1 + 4 : 6*$.1 + 10 : 1) 8 [ <[ 0, 0 ], (0 : 1 : 0)>, <[ 1, 0 ], (0 : 0 : 1)>, <[ 2, 0 ], (9*$.1 + 3 : 3*$.1 + 3 : 1)>, <[ 3, 0 ], (4*$.1 : 3*$.1 + 6 : 1)>, <[ 4, 0 ], (4*$.1 + 10 : 8 : 1)>, <[ 5, 0 ], (4*$.1 : 10*$.1 + 9 : 1)>, <[ 6, 0 ], (9*$.1 + 3 : 3 : 1)>, <[ 7, 0 ], (0 : 6*$.1 : 1)>, <[ 0, 1 ], (2*$.1 + 4 : 6*$.1 + 10 : 1)>, <[ 1, 1 ], (4*$.1 + 8 : 6*$.1 + 9 : 1)>, <[ 2, 1 ], (10*$.1 + 6 : 7*$.1 + 2 : 1)>, <[ 3, 1 ], (6*$.1 + 4 : 6*$.1 + 8 : 1)>, <[ 4, 1 ], (8*$.1 : 10*$.1 + 4 : 1)>, <[ 5, 1 ], (6*$.1 + 4 : 2*$.1 + 5 : 1)>, <[ 6, 1 ], (10*$.1 + 6 : $.1 + 2 : 1)>, <[ 7, 1 ], (4*$.1 + 8 : $.1 + 9 : 1)> ] */ // Now we define the reduction of up: L:=DefiningEquations(u1); P1p:=ProjectiveSpace(GF(primo),1); Rp:=CoordinateRing(Ambient(Er)); Embed(k,BaseRing(Rp)); toRp:=homRp|mapRp|c:->Rp!(tok(c))>,OrderedGenerators(Rp)>; up:=mapP1p|[Rp|toRp(l):l in L]>; up:=Extend(up); up; /* Mapping from: CrvEll: Er to Prj: P1p with equations : Y*Z 2*X*Z + Y*Z and alternative equations : 6*Y X + 6*Y 4*X^2 + 9*X*Y + Y^2 + (3*$.1 + 7)*X*Z + ($.1 + 9)*Y*Z + (10*$.1 + 7)*Z^2 Y^2 + ($.1 + 6)*Y*Z + (6*$.1 + 7)*Z^2 */ // Finally we compute the "relevant residue classes": ErPEKu:=[ : pt in ErPEK | up(pt[2]) in RationalPoints(P1p)]; ErPEKu; /* [ <<[ 0, 0 ], (0 : 1 : 0)>, (1 : 1)>, <<[ 7, 0 ], (0 : 6*$.1 : 1)>, (1 : 1)>, <<[ 2, 1 ], (10*$.1 + 6 : 7*$.1 + 2 : 1)>, (8 : 1)>, <<[ 5, 1 ], (6*$.1 + 4 : 2*$.1 + 5 : 1)>, (8 : 1)> ] */ // Now we compute the z0 modulo p^2, that should be necessary for the computations. // It is the z-coordinate of 8*P0, modulo p^2. P8:=8*P0; zP8:=-P8[1]/P8[2]; Op2:=quo< O | primo^2*O>; zP82:=Op2!zP8; zP82; /* [11, -22] */ // Now we are going to deal with the good points. First, the point 0. // Observe the use of the "formal point" Pz in order to obtain u as a // formal power series in the formal variable z. Op2n:=PolynomialRing(Op2,1); zP82n:=zP82*n; Elog,Pz:=FormalLog(E1: Precision:=4); fz:=u1(Pz)[1]; fz; fz2:=[Op2n!c : c in Coefficients(fz)]; fz2; thetan:=fz2[1]+fz2[2]*zP82n; thetan; /* 1 + 2*$.1 + 4*$.1^2 + 8*$.1^3 + 16*$.1^4 + 32*$.1^5 + 64*$.1^6 + O($.1^7) [ [1, 0], [2, 0], [4, 0], [8, 0], [16, 0], [32, 0], [-57, 0] ] [22, -44]*n + [1, 0] */ // We get that j1=-44 (mod 11^2), so 0 is the only relevant point in it residue class. // Now we deal with the point -P0=Q1E fz:=u1(Pz-P0)[1]; fz; fz2:=[Op2n!c : c in Coefficients(fz)]; fz2; thetan:=fz2[1]+fz2[2]*zP82n; thetan; /* 1 - 2*$.1 + (4*a + 24)*$.1^2 + O($.1^3) [ [1, 0], [-2, 0], [24, 4] ] [-22, 44]*n + [1, 0] */ // We get again the same result. // Now we are going to deal with the two "bad" residue classes: the ones of // 2*P0+T0 and 5*P0+T0. // We are goind to work in the p-adic completion of the field K. // We use a safe precision. prec:=20; k:=2; Kp, mapKKp:=Completion(K, primo*O: Precision:=prec); // We define the elliptic curve and the point in Kp. E1p:=EllipticCurve([mapKKp(as1[1]),mapKKp(as1[2]),mapKKp(as1[3]),mapKKp(as1[4]),mapKKp(as1[5])]); P0p:=E1p![mapKKp(0),mapKKp(0)]; T0s:=Eltseq(T0); T0p:=E1p![mapKKp(T0s[1]),mapKKp(T0s[2]),mapKKp(T0s[3])]; // First we need to compute the order of (0,0) modulo p^2. It must be a multiple of 8, and // also a multiple of 11. We get that cP0p:=8*11*P0p; ChangePrecision(cP0p[1]/cP0p[2],k); ChangePrecision(cP0p[3]/cP0p[2],k); /* (46*Kp.1 - 45)*11^2 + O(11^4) (43*Kp.1 + 4)*11^6 + O(11^8) */ //So it is the 0 point modulo 11^2. // Now we compute all the liftings of the points 2*P0+T0 and 5*P0+T0 modulo 11^2: Bpm1:=[8*i*P0p+2*P0p+T0p : i in [0..10]]; Bpm2:=[8*i*P0p+5*P0p+T0p : i in [0..10]]; // Finally we compute the images with respect to 1/u umBpm1:=[[ChangePrecision(2*p[1]/p[2]+1,k)] : p in Bpm1]; umBpm2:=[[ChangePrecision(2*p[1]/p[2]+1,k)] : p in Bpm2]; umBpm1; umBpm2; /* [ [ 33*Kp.1 + 29 + O(11^2) ], [ 33*Kp.1 - 59 + O(11^2) ], [ 33*Kp.1 - 26 + O(11^2) ], [ 33*Kp.1 + 7 + O(11^2) ], [ 33*Kp.1 + 40 + O(11^2) ], [ 33*Kp.1 - 48 + O(11^2) ], [ 33*Kp.1 - 15 + O(11^2) ], [ 33*Kp.1 + 18 + O(11^2) ], [ 33*Kp.1 + 51 + O(11^2) ], [ 33*Kp.1 - 37 + O(11^2) ], [ 33*Kp.1 - 4 + O(11^2) ] ] [ [ 33*Kp.1 - 4 + O(11^2) ], [ 33*Kp.1 - 37 + O(11^2) ], [ 33*Kp.1 + 51 + O(11^2) ], [ 33*Kp.1 + 18 + O(11^2) ], [ 33*Kp.1 - 15 + O(11^2) ], [ 33*Kp.1 - 48 + O(11^2) ], [ 33*Kp.1 + 40 + O(11^2) ], [ 33*Kp.1 + 7 + O(11^2) ], [ 33*Kp.1 - 26 + O(11^2) ], [ 33*Kp.1 - 59 + O(11^2) ], [ 33*Kp.1 + 29 + O(11^2) ] ] */ // Since any of the images is in Z/11^2Z, we are done. // Alternatively, one can use an argument with the power series. // First, the firts bad point: Pbad1:=2*P0+T0; fz:=u1(Pbad1+Pz)[1]; fz2:=[Op2n!c : c in Coefficients(fz)]; fz2; thetan:=fz2[1]+fz2[2]*zP82n; thetan; /* 1/135485836338283188*(-22949446776296183*a + 176210172872103296) + 1/764850493678502382345243803476806*(1323519095050075021878128971992188*a - 3692762414415643305564922580781155)*$.1 + 1/8635534067481722820414552525268229833099618144794*(-122928388328477688721\ 066796045253059535733498382349*a + 3655871021478167670473971600092694797563\ 97106545406)*$.1^2 + O($.1^3) [ [-25, -55], [-17, -45], [-14, -28] ] [-55, 0]*n + [-25, -55] */ // No integer n can verify this modulo 11^2, so we are done. // Now, the second bad point. Pbad2:=-3*P0+T0; fz:=u1(Pbad2+Pz)[1]; fz; fz2:=[Op2n!c : c in Coefficients(fz)]; fz2; thetan:=fz2[1]+fz2[2]*zP82n; thetan; /* 1/135485836338283188*(-22949446776296183*a + 176210172872103296) + 1/764850493678502382345243803476806*(-1323519095050075021878128971992188*a + 3692762414415643305564922580781155)*$.1 + 1/8635534067481722820414552525268229833099618144794*(-568828127623019639770\ 52296541643977197596215889919*a + 12797435688729612976221484976074448100923\ 1304512300)*$.1^2 + O($.1^3) [ [-25, -55], [17, 45], [2, -28] ] [55, 0]*n + [-25, -55] */ // Again the same result. // Computing directly with the Chabauty function we get: SetVerbose("EllChab", 3); N, V, R, C := Chabauty( GtoEK, u1, 11); printf "N=%o , V=%o , R=%o , C=%o",N,V,R,C; ; /* Computing relevant cosets using the primes above 11 Considering prime #1 with =<2, 1> Using enumeration Found cosets { 0, $.1 + 5*$.2, $.1 + 6*$.2, 3*$.2 } Modulo kernel Abelian Group isomorphic to Z Defined on 1 generator in supergroup: $.1 = 8*$.2 (free) LCM of indices: 8 Testing linear combinations in Mordell-Weil group up to bound 5 Found { 0, -$.2 } Cannot find representatives for all cosets. We'll see what happens. P0 = (0 : 1 : 0) Image under cover: (1 : 1) Centred power series expansion: 2*$.1 + 4*$.1^2 + 8*$.1^3 + 16*$.1^4 + 32*$.1^5 + 64*$.1^6 + 128*$.1^7 + 256*$.1^8 + O($.1^9) Reduction of matrix of Z-coordinates: [ 1] [ 9] Matrix has full rank. Implicit proof that MW-group is saturated at 11 Order of vanishing: 1 Linear approximation gives matrix: [ 7] P0 is the only point in its fibre. P0 = (0 : -38*a - 22 : 1) Image under cover: (1 : 1) Centred power series expansion: -2*$.1 + (4*a + 24)*$.1^2 + (-96*a - 336)*$.1^3 + (1748*a + 5140)*$.1^4 + (-29408*a - 79864)*$.1^5 + O($.1^6) Reduction of matrix of Z-coordinates: [ 1] [ 9] Matrix has full rank. Implicit proof that MW-group is saturated at 11 Order of vanishing: 1 Linear approximation gives matrix: [ 4] P0 is the only point in its fibre. Will try to deal with remaining points P0 = (1/103512245801745320256025*(1416606665546250188818418*a + 6476476201093708519968713) : 1/33303325086746966545231941470879875*(1106726\ 4689954678752927784972618695328*a + 22470694700072789739180856638688721498) : 1) Power series expansion: 1/135485836338283188*(-22949446776296183*a + 176210172872103296) + 1/764850493678502382345243803476806*(-132351909505007\ 5021878128971992188*a + 3692762414415643305564922580781155)*$.1 + 1/8635534067481722820414552525268229833099618144794*(-568828127623019639770\ 52296541643977197596215889919*a + 12797435688729612976221484976074448100923\ 1304512300)*$.1^2 + 1/48749689806687401061436160119752648042451232445242953\ 557814996803*(-208333617643568823023004780358894929165577820703696103029343\ 1343616*a + 401353552229312480181192690173866109221523265365946858210485118\ 4245)*$.1^3 + 1/55040770789091011710777360541264631141947135569303566933296\ 3411605448478394053997*(575578635669637481558754978209190699148793908857428\ 3698708697394851530264431927592*a + 257185855537122894805916020347475143799\ 608402042066817540244061269684385636193212165)*$.1^4 + 1/6214370719219785678526203305394792108018956087295322709659847149870415467\ 949471054464683195775203*(-136668542754624310140776358507111289708437887406\ 49707119208851437929740654703445911702043826968891414*a - 713716119067229123748495300970569761917285172478470833566837267712250349221\ 403902715582047949278760)*$.1^5 + O($.1^6) Reduction of matrix of Z-coordinates: [ 1] [ 9] Matrix has full rank. Implicit proof that MW-group is saturated at 11 Solutions to p-adic system of equations: {} Unresolved neighbourhoods: {} P0 = (1/252778201*(633730994*a - 59678479) : 1/4018920617699*(49965065942272*a + 245287923663658) : 1) Power series expansion: 1/135485836338283188*(-22949446776296183*a + 176210172872103296) + 1/764850493678502382345243803476806*(1323519095050075\ 021878128971992188*a - 3692762414415643305564922580781155)*$.1 + 1/8635534067481722820414552525268229833099618144794*(-122928388328477688721\ 066796045253059535733498382349*a + 3655871021478167670473971600092694797563\ 97106545406)*$.1^2 + 1/4874968980668740106143616011975264804245123244524295\ 3557814996803*(666156682244918234593840491881789017869020114777092558094412\ 7802382*a - 196953446499535284010330117365976101839023728082181142212512406\ 88523)*$.1^3 + 1/1834692359636367057025912018042154371398237852310118897776\ 54470535149492798017999*(-2647113138706495738490349825325507497446518092235\ 96427566984466611730947505568577265*a + 740034827217724675030701787049616872700344526531107625057047335744767219714\ 024687932)*$.1^4 + 1/621437071921978567852620330539479210801895608729532270\ 9659847149870415467949471054464683195775203*(980550993514589524256484848673\ 27475592132388882281771116697064004598508234283191982853484115139245068*a - 258928498702316176037570927536633893785598257455501912385845464805061764945\ 446427104996372401061364474)*$.1^5 + O($.1^6) Reduction of matrix of Z-coordinates: [ 1] [ 9] Matrix has full rank. Implicit proof that MW-group is saturated at 11 Solutions to p-adic system of equations: {} Unresolved neighbourhoods: {} Returned set gives all points with rational image if given MWmap is 8 saturated. N=2 , V={ 0, -G.2 } , R=8 , C= */