Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lmfdb/number_fields/number_field.py
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@ def render_field_webpage(args):
data['class_group'] = nf.class_group()
data['narrow_class_group'] = nf.narrow_class_group()
data['class_group_invs'] = nf.class_group_invariants()
data['signature'] = nf.signature()
data['signature'] = nf.signature_display()
data['coefficients'] = nf.coeffs()
nf.make_code_snippets()
D = nf.disc()
Expand Down Expand Up @@ -850,7 +850,7 @@ def number_field_jump(info):
lambda label: '<a href="%s">%s</a>' % (url_for_label(label), nf_label_pretty(label))),
PolynomialCol("coeffs", "nf.defining_polynomial", "Polynomial"),
MathCol("degree", "nf.degree", "Degree", align="center", default=False),
MultiProcessedCol("signature", "nf.signature", "Signature", ["r2", "degree"], lambda r2, degree: '[%s,%s]' % (degree - 2*r2, r2 ), apply_download=False, align="center", default=False),
MultiProcessedCol("signature", "nf.signature", "Signature", ["r2", "degree"], lambda r2, degree: '(%s, %s)' % (degree - 2*r2, r2 ), apply_download=False, align="center", default=False),
DiscriminantCol("disc", "nf.discriminant", "Discriminant", ['disc_sign', 'disc_abs'], func=None, align="left"),
MathCol("num_ram", "nf.ramified_primes", "Ram. prime count", short_title="ramified prime count", default=False),
MathCol("rd", "nf.root_discriminant", "Root discriminant", default=False),
Expand Down
5 changes: 5 additions & 0 deletions lmfdb/number_fields/test_numberfield.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ def test_signature_search(self):
self.check_args('/NumberField/?start=0&degree=6&signature=%5B0%2C3%5D&count=100', '6.0.61131.1')
self.check_args('/NumberField/?start=0&degree=7&signature=%5B3%2C2%5D&count=100', '7.3.1420409.1')

def test_signature_display(self):
# Verify that signatures are displayed with parentheses, not square brackets
self.check_args('/NumberField/6.0.61131.1', '(0, 3)') # degree 6 field with signature (0, 3)
self.check_args('/NumberField/7.3.1420409.1', '(3, 2)') # degree 7 field with signature (3, 2)

def test_relative_class_number(self):
self.check_args('/NumberField/4.0.1327873600.2', '2108')

Expand Down
5 changes: 5 additions & 0 deletions lmfdb/number_fields/web_number_field.py
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,11 @@ def signature(self):
n = self._data['degree']
return [n-2*r2, r2]

def signature_display(self):
"""Return signature formatted for display with parentheses."""
r1, r2 = self.signature()
return '(%s, %s)' % (r1, r2)

def degree(self):
return self._data['degree']

Expand Down
Loading