Example #1
0
 def populate_all_characters(self, level, weight, verbose=True):
     from sage.all import DirichletGroup
     G = DirichletGroup(level)
     B = G.galois_orbits()
     B = [character[0].minimize_base_ring() for character in B]
     for character in B:
         self.populate(level, weight, character, verbose)
def generate_dimension_table_gamma1(maxN=100, maxk=12, minN=3, mink=2):
    C = pymongo.connection.Connection(port=int(37010))
    ms = C['modularforms']['Modular_symbols.files']
    print ms
    data = dict()
    for N in range(minN, maxN + 1):
        data[N] = dict()
        for k in range(mink, maxk + 1):
            data[N][k] = dict()
            if N > 2:
                D = DirichletGroup(N)
                G = D.galois_orbits(reps_only=True)
                dimall = 0
                in_db_all = True
                for xi, x in enumerate(G):
                    dim = dimension_new_cusp_forms(x, k)
                    dimall += dim
                    finds = ms.find({'t': [int(N), int(k), int(xi)]})
                    in_db = finds.count() > 0
                    if not in_db:
                        in_db_all = False
                    data[N][k][xi] = {'dimension': dim, 'in_db': in_db}
            else:
                in_db_all = True
                # we only have the trivial character
                finds = ms.find({'t': [int(N), int(k), int(0)]})
                in_db = finds.count() > 0
                if not in_db:
                    in_db_all = False
                dimall = dimension_new_cusp_forms(N, k)
                data[N][k][0] = {'dimension': dimall, 'in_db': in_db}
            # print N,k,data[N][k]
            data[N][k][-1] = {'dimension': dimall, 'in_db': in_db_all}
        print "Computed data for level ", N
    return ms, data
Example #3
0
 def populate_all_characters(self, level, weight, verbose=True):
     from sage.all import DirichletGroup
     G = DirichletGroup(level)
     B = G.galois_orbits()
     B = [character[0].minimize_base_ring() for character in B]
     for character in B:
         self.populate(level, weight, character, verbose)
Example #4
0
 def populate_quadratic_characters(self, level, weight, verbose=True):
     from sage.all import DirichletGroup, QQ
     G = DirichletGroup(level,QQ)
     B = G.galois_orbits()
     B = [character[0].minimize_base_ring() for character in B
          if character[0].order()==2]
     for character in B:
         self.populate(level, weight, character, verbose)
Example #5
0
 def populate_quadratic_characters(self, level, weight, verbose=True):
     from sage.all import DirichletGroup, QQ
     G = DirichletGroup(level, QQ)
     B = G.galois_orbits()
     B = [
         character[0].minimize_base_ring() for character in B
         if character[0].order() == 2
     ]
     for character in B:
         self.populate(level, weight, character, verbose)
def generate_dimension_table_gamma1(maxN=100, maxk=12, minN=3, mink=2):
    C = pymongo.connection.Connection(port=dbport)
    C = pymongo.connection.Connection(port=dbport)
    ms = C['modularforms']['Modular_symbols.files']
    print ms
    data = dict()
    for N in range(minN, maxN + 1):
        data[N] = dict()
        for k in range(mink, maxk + 1):
            data[N][k] = dict()
            if N > 2:
                D = DirichletGroup(N)
                G = D.galois_orbits(reps_only=True)
                dimall = 0
                in_db_all = True
                for xi, x in enumerate(G):
                    dim = dimension_new_cusp_forms(x, k)
                    dimall += dim
                    finds = ms.find({'t': [int(N), int(k), int(xi)]})
                    in_db = finds.count() > 0
                    if not in_db:
                        in_db_all = False
                    data[N][k][xi] = {'dimension': dim, 'in_db': in_db}
            else:
                in_db_all = True
                # we only have the trivial character
                finds = ms.find({'t': [int(N), int(k), int(0)]})
                in_db = finds.count() > 0
                if not in_db:
                    in_db_all = False
                dimall = dimension_new_cusp_forms(N, k)
                data[N][k][0] = {'dimension': dimall, 'in_db': in_db}
            # print N,k,data[N][k]
            data[N][k][-1] = {'dimension': dimall, 'in_db': in_db_all}
        print "Computed data for level ", N
    return ms, data