diff --git a/CONTRIBUTORS.yaml b/CONTRIBUTORS.yaml
index 0babaf39fe..96f17d42f3 100644
--- a/CONTRIBUTORS.yaml
+++ b/CONTRIBUTORS.yaml
@@ -443,4 +443,6 @@ affil: The University of North Carolina Greensboro
name: David Yuen
affil: Lake Forest College
url: https://www.lakeforest.edu/academics/faculty/yuen/
-
+---
+name: Weiyi Wang
+email: wwylele@gmail.com
diff --git a/lmfdb/classical_modular_forms/test_cmf.py b/lmfdb/classical_modular_forms/test_cmf.py
index f00986423a..15cff2dde3 100644
--- a/lmfdb/classical_modular_forms/test_cmf.py
+++ b/lmfdb/classical_modular_forms/test_cmf.py
@@ -264,6 +264,12 @@ def test_decomposition(self):
assert elt + '.a' in page.get_data(as_text=True)
for elt in ['Decomposition', r"S_{9}^{\mathrm{old}}(\Gamma_1(38))", "lower level spaces"]:
assert elt in page.get_data(as_text=True)
+ decomposition = r"""
+
+"""
+ assert decomposition in page.get_data(as_text=True)
def test_convert_conreylabels(self):
for c in [27, 31]:
@@ -594,3 +600,58 @@ def test_underlying_data(self):
and 'mf_hecke_charpolys' in data and 'charpoly_factorization' in data
and 'mf_newform_portraits' in data and "data:image/png;base64" in data
and 'mf_hecke_traces' in data and 'trace_an' in data)
+
+ def test_character_values(self):
+ # A newform orbit of dimension 1
+ data = self.tc.get('/ModularForm/GL2/Q/holomorphic/12/3/c/a/').get_data(as_text=True)
+ character_values_table = r"""
+
+
+
+ \(n\) |
+ \(5\) |
+ \(7\) |
+
+ \(\chi(n)\) |
+ \(-1\) |
+ \(1\) |
+
+
+"""
+ assert (character_values_table in data)
+
+ # A newform orbit of dimension 2
+ data = self.tc.get('/ModularForm/GL2/Q/holomorphic/119/1/d/a/').get_data(as_text=True)
+ character_values_table = r"""
+
+
+
+ \(n\) |
+ \(52\) |
+ \(71\) |
+
+ \(\chi(n)\) |
+ \(-1\) |
+ \(-1\) |
+
+
+"""
+ assert (character_values_table in data)
+
+ # An embedded newform
+ data = self.tc.get('/ModularForm/GL2/Q/holomorphic/119/1/d/a/118/1/').get_data(as_text=True)
+ character_values_table = r"""
+
+
+
+ \(n\) |
+ \(52\) |
+ \(71\) |
+
+ \(\chi(n)\) |
+ \(-1\) |
+ \(-1\) |
+
+
+"""
+ assert (character_values_table in data)
diff --git a/lmfdb/classical_modular_forms/web_newform.py b/lmfdb/classical_modular_forms/web_newform.py
index 48b5ddde5e..1839a9134b 100644
--- a/lmfdb/classical_modular_forms/web_newform.py
+++ b/lmfdb/classical_modular_forms/web_newform.py
@@ -185,6 +185,9 @@ def __init__(self, data, space=None, all_m=False, all_n=False, embedding_label=N
if self.dim == 1:
# avoid using mf_hecke_nf when the dimension is 1
vals = ConreyCharacter(self.level, db.char_dirichlet.lookup("%s.%s" % (self.level,self.char_orbit_label),projection="first")).values_gens
+ # ConreyCharacter.values_gens returns the exponent of character values,
+ # But we need the character values themselves here when hecke_ring_cyclotomic_generator is unspecified.
+ vals = [[v[0],[1] if v[1] == 0 else [-1]] for v in vals]
eigenvals = { 'hecke_ring_cyclotomic_generator': 0, 'hecke_ring_character_values': vals, 'hecke_ring_power_basis': True, 'maxp': previous_prime(len(self.traces)+1), 'an': self.traces }
else:
eigenvals = db.mf_hecke_nf.lucky({'hecke_orbit_code': self.hecke_orbit_code}, ['an'] + hecke_cols)
diff --git a/lmfdb/classical_modular_forms/web_space.py b/lmfdb/classical_modular_forms/web_space.py
index a9df8cfb12..b44adc1d35 100644
--- a/lmfdb/classical_modular_forms/web_space.py
+++ b/lmfdb/classical_modular_forms/web_space.py
@@ -481,7 +481,7 @@ def __init__(self, level, weight):
self.has_trace_form = (data.get('traces') is not None)
# By default we sort on char_orbit_index
newspaces = list(db.mf_newspaces.search({'level':level, 'weight':weight, 'char_parity': self.weight_parity}))
- self.oldspaces = [(sublevel, number_of_divisors(level/sublevel)) for sublevel in divisors(level)]
+ self.oldspaces = [(sublevel, number_of_divisors(level/sublevel)) for sublevel in divisors(level) if sublevel != level]
self.oldspaces.sort()
self.dim_grid = DimGrid.from_db(data)
self.decomp = []
diff --git a/lmfdb/lfunctions/templates/LfunctionNavigate.html b/lmfdb/lfunctions/templates/LfunctionNavigate.html
index faca32b75a..ac27e49f3e 100644
--- a/lmfdb/lfunctions/templates/LfunctionNavigate.html
+++ b/lmfdb/lfunctions/templates/LfunctionNavigate.html
@@ -50,7 +50,7 @@ By {{KNOWL('lfunction.underlying_object', 'origin')}}
Artin representation |
- Hilbert modular form |
+ Hilbert modular form |
Bianchi modular form |
Elliptic curve over $\mathbb{Q}(\sqrt{d})$ |
Genus 2 curve over $\mathbb{Q}$ |