# Sage code for "A nonabelian conjecture of Birch and Swinnerton-Dyer type # for hyperbolic curves", by J. Balakrishnan, I. Dan-Cohen, M. Kim, # S. Wewers" # We check that Li_2(zeta_6)<>0 for all primes p=1 mod 3, p<=N, # see loc.cit., p. 18f #N=100000 print "Checking that Li_2(zeta_6)<>0 for all p=1 mod 3, p<=",N print check=True badprimes=set() for p in prime_range(N): if p.mod(3)==1: k=FiniteField(p) R.=k[] #print "p=",p g0=v-v^p g1=-R(g0/(v-v^2)).integral() g2=-R(g1/(v-v^2)).integral() #print "g_2=",g2 a=k.primitive_element() b=a^((p-1)/6) #print "zeta_6=",b if g2(b)==0: print "for p=",p,", zeta=",b,"is a root of g_2" check=False badprimes.add(p) if check: print "Check was successful for all p<=",N else: print "Check unsuccessful; bad primes are:",badprimes