// This Magma script is being used to compute the resolvent polynomials // that the Dokchitser's wrote down for use in determining the // image of elliptic curve Galois representations. Now, I'm using it to // figure out which twist of a given elliptic curve has 2-adic image inside // particular subgroup not containing -I. // This script takes as input an integer m (on the command line) // and computes the universal elliptic curve E_G, where G runs over // all subgroups in finesublist[m] // Added on 12/29 - calculations to ensure we have enough decimal precision. if (not assigned m) then printf "This script requires m be passed as a command line argument.\n"; printf "The usage is something like magma m:=1 whichtwist.txt"; quit; else finesubnum := StringToInteger(m); end if; load "gl2data.txt"; load "gl2finedata.txt"; function liftsub(G,n,m) H2 := GL(2,Integers(2^m)); H3 := GL(2,Integers(2^n)); genlist := []; for g in Generators(G) do Append(~genlist,H2!g); end for; phi := homH3 | [H3!H2.i : i in [1..#Generators(H2)]]>; ker := Kernel(phi); // Add generators for the kernel of GL_2(Z/2^m Z) -> GL_2(Z/2^n Z) return sub