# This file was *autogenerated* from the file high_rank_abvar.sage.
from sage.all_cmdline import *   # import sage library
DATA = "ranks/"

def ranks(N):
    filename = '%sranks-%s.sobj'%(DATA,N)
    if os.path.exists(filename):
         D = load(filename)
    else:
         D = ModularSymbols(N,sign=Integer(1)).cuspidal_submodule().new_submodule().decomposition()
    for i,A in enumerate(D):
        eps = -A.atkin_lehner_operator().matrix()[Integer(0),Integer(0)]
        winding_element = A.rational_period_mapping()(A.ambient_module()([Integer(0),oo]))
        if eps == Integer(1) and winding_element == Integer(0):
            print N, i, A.dimension(), eps, winding_element == Integer(0)
    save(D, filename)

for N in primes(Integer(10000)):
#    print N
    ranks(N)
