Example #1
0
def Sp4Z_j_space(k, j):
    bread = [("Modular Forms", url_for('mf.modular_form_main_page')),
             ('Siegel modular forms', url_for('.index')),
             ('$M_{k,j}(\mathrm{Sp}(4, \mathbb{Z})$', url_for('.Sp4Z_j')),
             ('$M_{%s,%s}(\mathrm{Sp}(4, \mathbb{Z}))$' % (k, j), '')]
    if j % 2:
        # redirect to general page for Sp4Z_j which will display an error message
        return redirect(url_for(".Sp4Z_j", k=str(k), j=str(j)))
    info = {'args': {'k': str(k), 'j': str(j)}}
    try:
        if j in [0, 2]:
            headers, table = dimensions._dimension_Sp4Z([k])
            info['samples'] = find_samples('Sp4Z' if j == 0 else 'Sp4Z_2', k)
        else:
            headers, table = dimensions._dimension_Gamma_2([k],
                                                           j,
                                                           group='Sp4(Z)')
        info['headers'] = headers
        info['subspace'] = table[k]
    except NotImplementedError:
        # redirect to general page for Sp4Z_j which will display an error message
        return redirect(url_for(".Sp4Z_j", k=str(k), j=str(j)))
    return render_template('ModularForm_GSp4_Q_full_level_space.html',
                           title='$M_{%s, %s}(\mathrm{Sp}(4, \mathbb{Z}))$' %
                           (k, j),
                           bread=bread,
                           info=info)
Example #2
0
def ModularForm_GSp4_Q_Sp4Z_j_space(j=4, k=4):
    bread = [("Modular Forms", url_for('mf.modular_form_main_page')),
             ('Siegel modular forms', url_for('ModularForm_GSp4_Q_top_level')),
             ('$M_{k,j}(\mathrm{Sp}(4, \mathbb{Z})$',
              '/ModularForm/GSp/Q/Sp4Z_j'),
             ('$M_{%s, %s}(\mathrm{Sp}(4, \mathbb{Z}))$' % (k, j),
              '/ModularForm/GSp/Q/Sp4Z_j/%s/%s' % (k, j))]
    # How to handle space decomposition: dict with keys and entries.
    #Then special case code here.
    j = int(j)
    k = int(k)
    samples = []
    #TODO: cleanup
    if j == 0:
        t = dimensions._dimension_Sp4Z([k])
        samples = find_samples('Sp4Z', k)
    elif j == 2:
        t = dimensions._dimension_Sp4Z([k])
        samples = find_samples('Sp4Z_2', k)
    else:
        t = dimensions._dimension_Gamma_2([k], j, group="Sp4(Z)")
        #Right now no samples
    subdecomp = t[1][k]
    headers = t[0]
    #Same for samples. Really should have a big structure driving template: TODO
    return render_template('ModularForm_GSp4_Q_full_level_space.html',
                           title='$M_{%s, %s}(\mathrm{Sp}(4, \mathbb{Z}))$' %
                           (k, j),
                           k=k,
                           j=j,
                           subspace=subdecomp,
                           headers=headers,
                           samples=samples,
                           bread=bread)
Example #3
0
def ModularForm_GSp4_Q_Sp4Z_j_space(j=4, k=4):
    bread = [('Siegel modular forms', url_for('ModularForm_GSp4_Q_top_level')),
             ('$M_{k,j}(\mathrm{Sp}(4, \mathbb{Z})$', '/ModularForm/GSp/Q/Sp4Z_j'),
             ('$M_{%s, %s}(\mathrm{Sp}(4, \mathbb{Z}))$'%(k,j), '/ModularForm/GSp/Q/Sp4Z_j/%s/%s'%(k,j))]
    # How to handle space decomposition: dict with keys and entries.
    #Then special case code here.
    j=int(j)
    k=int(k)
    samples =[]
    #TODO: cleanup
    if j==0:
        t= dimensions._dimension_Sp4Z([k])
        samples = find_samples('Sp4Z', k)
    elif j==2:
        t= dimensions._dimension_Sp4Z([k])
        samples = find_samples('Sp4Z_2', k)
    else:
        t = dimensions._dimension_Gamma_2([k], j, group="Sp4(Z)")
        #Right now no samples
    subdecomp=t[1][k]
    headers=t[0]
    #Same for samples. Really should have a big structure driving template: TODO
    return render_template('ModularForm_GSp4_Q_full_level_space.html',
                           title = '$M_{%s, %s}(\mathrm{Sp}(4, \mathbb{Z}))$'%(k, j),
                           k=k,
                           j=j,
                           subspace=subdecomp,
                           headers=headers,
                           samples = samples,
                           bread=bread);
Example #4
0
def Sp4Z_j_space(k,j):
    bread = [("Modular Forms", url_for('mf.modular_form_main_page')),
             ('Siegel modular forms', url_for('.index')),
             ('$M_{k,j}(\mathrm{Sp}(4, \mathbb{Z})$', url_for('.Sp4Z_j')),
             ('$M_{%s,%s}(\mathrm{Sp}(4, \mathbb{Z}))$'%(k,j), '')]
    if j%2:
        # redirect to general page for Sp4Z_j which will display an error message
        return redirect(url_for(".Sp4Z_j",k=str(k),j=str(j)))
    info = { 'args':{'k':str(k),'j':str(j)} }
    try:
        if j in [0,2]:
            headers, table = dimensions._dimension_Sp4Z([k])
            info['samples'] = find_samples('Sp4Z' if j==0 else 'Sp4Z_2', k)
        else:
            headers, table = dimensions._dimension_Gamma_2([k], j, group='Sp4(Z)')
        info['headers'] = headers
        info['subspace'] = table[k]
    except NotImplementedError:
        # redirect to general page for Sp4Z_j which will display an error message
        return redirect(url_for(".Sp4Z_j",k=str(k),j=str(j)))
    return render_template('ModularForm_GSp4_Q_full_level_space.html',
                           title = '$M_{%s, %s}(\mathrm{Sp}(4, \mathbb{Z}))$'%(k, j),
                           bread=bread,
                           info=info);