Skip to content

Commit

Permalink
Merge pull request #6026 from AndrewVSutherland/main
Browse files Browse the repository at this point in the history
A few small bug fixes to the dynamically generated CMF space pages
  • Loading branch information
AndrewVSutherland authored May 2, 2024
2 parents 26cd2b2 + 2644f6e commit 97baeb9
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 6 deletions.
2 changes: 1 addition & 1 deletion lmfdb/classical_modular_forms/templates/cmf_space.html
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ <h2> {{ KNOWL('cmf.decomposition.new.gamma0chi', title='Decomposition') }} of \(
<h2> {{ KNOWL('cmf.decomposition.old.gamma0chi', title='Decomposition') }} of \({{ space.old_latex() }}\) into {{ KNOWL('cmf.oldspace',title='lower level spaces')}}</h2>

<div class="center">
\( {{ space.old_latex() }} \cong \) {{ space.oldspace_decomposition() | safe }}
\( {{ space.old_latex() }} \simeq \) {{ space.oldspace_decomposition() | safe }}
</div>
{% endif %}

Expand Down
7 changes: 2 additions & 5 deletions lmfdb/classical_modular_forms/web_space.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ def QDimensionNewEisensteinForms(chi, k):
# The Q-dimension of the new subspace of E_k(N,chi), the space of Eisenstein series of weight k, level N, and character chi, where N is the modulus of chi.
from sage.all import prod
assert k > 0, "The weight k must be a positive integer"
if ((k%2) == 1) != (chi['parity'] == -1):
if ((k%2) == 1) == chi['is_even']:
return 0
N = ZZ(chi['modulus'])
M = ZZ(chi['conductor'])
Expand Down Expand Up @@ -295,9 +295,8 @@ def make_oldspace_data(newspace_label, char_conductor, prim_orbit_index):
level = int(newspace_label.split('.')[0])
weight = int(newspace_label.split('.')[1])
sub_level_list = [sub_level for sub_level in ZZ(level).divisors() if (sub_level % char_conductor == 0) and sub_level != level]
sub_chars = list(db.char_dirichlet.search({'modulus':{'$in':sub_level_list}, 'primitive_orbit':prim_orbit_index}))
sub_chars = list(db.char_dirichlet.search({'modulus':{'$in':sub_level_list}, 'conductor':char_conductor, 'primitive_orbit':prim_orbit_index}))
sub_chars = {char['modulus'] : char for char in sub_chars}

oldspaces = []
for sub_level in sub_level_list:
entry = {}
Expand All @@ -309,7 +308,6 @@ def make_oldspace_data(newspace_label, char_conductor, prim_orbit_index):
# only include subspaces with cusp forms
# https://pari.math.u-bordeaux.fr/pub/pari/manuals/2.15.4/users.pdf p.595
oldspaces.append(entry)

return oldspaces

class WebNewformSpace():
Expand All @@ -328,7 +326,6 @@ def __init__(self, data):
self.oldspaces = [(old['sub_level'], old['sub_char_orbit_index'], old['sub_conrey_index'], old['sub_mult']) for old in oldspaces]
self.dim_grid = DimGrid.from_db(data)
self.plot = db.mf_newspace_portraits.lookup(self.label, projection="portrait")

# Properties
self.properties = [('Label',self.label)]
if self.plot is not None and self.dim > 0:
Expand Down

0 comments on commit 97baeb9

Please sign in to comment.