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)
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)
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);
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);