// // // code used in Proposition 2.6 // // K:=PolynomialRing(Rationals()); A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); // we create an elliptic curve given by the short Weierstrass model in section 2.4 of the paper D. Jeon, A. Schweizer "Torsion of rational elliptic curves over different types of cubic fields" Factorization(K!Discriminant(E)); // gives the normalized factorization of the discriminant Discriminant(E); // we have to check this because the factorization is normalized and we want to see whether there are any leading coefficients Factorization(K!cInvariants(E)[1]); // gives the normalized factorization of the c_4-invariant cInvariants(E)[1]; // we have to check this because the factorization is normalized and we want to see whether there are any leading coefficients // // ord_p(u-1)>0 // K:=PolynomialRing(Rationals()); A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); Factorization(Integers()!Resultant(K!(u-1), K!(Discriminant(E)/(u-1)^14))); // res(u-1, Delta(u)/(u-1)^14)=2^82 Factorization(Integers()!Resultant(K!(u-1), K!cInvariants(E)[1])); // res(u-1, c_4(u))=2^32 Evaluate(-cInvariants(E)[2],1); // we evaluate -c_6 in u=1 because u=1(mod p) Factorization(Integers()!Evaluate(-cInvariants(E)[2],1)); // -c_6=2^48 // // ord_p(u-1)<0 // K:=PolynomialRing(Rationals()); u:=(1+m)/m; A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); Factorization(K!Discriminant(E)); // gives the normalized factorization of the discriminant Discriminant(E); // we have to check this because the factorization is normalized and we want to see whether there are any leading coefficients Factorization(K!cInvariants(E)[1]); // gives the normalized factorization of the c_4-invariant cInvariants(E)[1]; // we have to check this because the factorization is normalized and we want to see whether there are any leading coefficients Resultant(K!m, K!(Discriminant(E)/m^14)); Factorization(Integers()!Denominator(Resultant(K!m, K!(Discriminant(E)/m^14)))); // res(m, Delta(m)/m^14)=2^-82 Resultant(K!m, K!cInvariants(E)[1]); Factorization(Integers()!Denominator(Resultant(K!m, K!cInvariants(E)[1]))); // res(m, c_4(m))=2^-32 Evaluate(-cInvariants(E)[2],0); // we evaluate -c_6 in m=0 because m=0(mod p) Factorization(Integers()!Denominator(Evaluate(-cInvariants(E)[2],1))); // -c_6=2^-48 // // special cases, u=-1,0,1,3 // u:=0; A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); CremonaReference(E); // 1922c1 (Cremona label) = 1922.e2 (LMFDB label) LocalInformation(E); u:=3; A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); CremonaReference(E); // 1922c1 (Cremona label) = 1922.e2 (LMFDB label) LocalInformation(E); u:=1; A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); // the curve is singular u:=-1; A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); // the curve is singular // // ord_p(u+1)>0 // K:=PolynomialRing(Rationals()); A:=-(u^12+4*u^11-10*u^10-68*u^9+3*u^8+552*u^7+4*u^6-2568*u^5+2103*u^4+1684*u^3+1958*u^2+396*u+37)/(48*(u^2+3)^3*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)); B:=(u^24+8*u^23+12*u^22-120*u^21-518*u^20+504*u^19+5068*u^18+568*u^17-24009*u^16-15024*u^15+62936*u^14+183120*u^13-550452*u^12-851984*u^11+4384056*u^10-3808912*u^9+1467519*u^8-4083672*u^7+3590300*u^6+5512360*u^5+6945498*u^4+2943128*u^3+893052*u^2+120024*u+3753)/(864*(u^2+3)^6*(u^6+4*u^5+13*u^4-40*u^3+19*u^2+36*u+31)^2); E:=MinimalModel(EllipticCurve([A,B])); Factorization(K!Discriminant(E)); // gives the normalized factorization of the discriminant Discriminant(E); // we have to check this because the factorization is normalized and we want to see whether there are any leading coefficients Factorization(K!cInvariants(E)[1]); // gives the normalized factorization of the c_4-invariant cInvariants(E)[1]; // we have to check this because the factorization is normalized and we want to see whether there are any leading coefficients Factorization(Integers()!Resultant(K!(u+1), K!(Discriminant(E)/(u+1)^14))); // res(u+1, Delta(u)/(u+1)^14)=2^82 Factorization(Integers()!Resultant(K!(u+1), K!cInvariants(E)[1])); // res(u+1, c_4(u))=2^32 Evaluate(-cInvariants(E)[2],-1); // we evaluate -c_6 in u=-1 because u=-1(mod p) Factorization(Integers()!Evaluate(-cInvariants(E)[2],-1)); // -c_6=2^48