Magma V2.12-19 Tue Mar 28 2006 17:39:06 on django [Seed = 928683634] Type ? for help. Type -D to quit. Loading startup file "/home/nbruin/.magmarc" > Attach("selmer.m"); > > //monic quintic model of C > _:=PolynomialRing(Rationals()); > C1:=HyperellipticCurve(x^5 + 1024*x^4 + 418336*x^3 + 85155984*x^2 + > 8640375571*x + 349707832321); > J1:=Jacobian(C1); > > //compute its 2-Selmer group > S1,mu1:=TwoSelmerGroup(J1); > > //give a name to representing algebra > A1:=Domain(mu1); > > //the two delta-values mentioned in the article > > delta1:=17*theta^2+6152*theta+591361; > delta2:=-15*theta^2-6152*theta-591361; > > //verify that S1 is (Z/2)^3 > S1; Abelian Group isomorphic to Z/2 + Z/2 + Z/2 Defined on 3 generators in supergroup: S1.1 = $.3 + $.5 + $.6 + $.9 S1.2 = $.1 S1.3 = $.2 Relations: 2*S1.1 = 0 2*S1.2 = 0 2*S1.3 = 0 > > //and is generated by delta1, delta2 and mu[(0,769^2)-infty] > sub eq S1; true > > ////////////////// > //compute same quantities for curve C2: > C2:=HyperellipticCurve(x^5-x+1); > J2:=Jacobian(C2); > S2,mu2:=TwoSelmerGroup(J2); > A2:=Domain(mu2); > > //The representing algebras are isomorphic. > A2toA1:=homA1|theta/(769+4*theta)>; > A1toA2:=homA2|-769*beta/(4*beta-1)>; > assert Evaluate(MinimalPolynomial(theta),A1toA2(theta)) eq 0; > assert Evaluate(MinimalPolynomial(beta),A2toA1(beta)) eq 0; > > //Check that the Selmer group of Jac(C2) is generated by delta1 and delta2. > sub eq sub; true > > //and check representation given in the article is correct > sub eq S2; true > > //Construct the genus 4 curve: > D:=HyperellipticCurve(2^10*Evaluate(x^5-x+1,-(x/2)^2+1/4)); > JD:=Jacobian(D); > > //compute its Selmer group > SD,muD:=TwoSelmerGroup(JD); > > //check it's (Z/2)^3 > SD; Abelian Group isomorphic to Z/2 + Z/2 + Z/2 Defined on 3 generators in supergroup: SD.1 = $.6 + $.7 + $.8 SD.2 = $.1 SD.3 = $.12 Relations: 2*SD.1 = 0 2*SD.2 = 0 2*SD.3 = 0 > > //representing algebra ... > AD:=Domain(muD); > > //represent AD as a quadratic extension of A2 > PA2:=PolynomialRing(A2); > ADrel:=quo; > ADtoADrel:=homADrel|gammarel>; > > //and compute the image of SD in S2 under the relative norm map > //(and check it is trivial) > sub; Abelian Group of order 1 Mapping from: Abelian Group of order 1 to GrpAb: S2 Total time: 109.020 seconds, Total memory usage: 13.67MB