From a54bafc27b6d211adb5086fd9df76a573b552844 Mon Sep 17 00:00:00 2001 From: John Jones <jj@asu.edu> Date: Mon, 16 Dec 2024 13:49:08 -0500 Subject: [PATCH 1/5] Catch more bits of data which may be missing --- lmfdb/local_fields/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lmfdb/local_fields/main.py b/lmfdb/local_fields/main.py index 7fe40c7510..24e4af7d08 100644 --- a/lmfdb/local_fields/main.py +++ b/lmfdb/local_fields/main.py @@ -455,8 +455,6 @@ def render_field_webpage(args): 'c': data['c'], 'e': data['e'], 'f': data['f'], - 't': data['t'], - 'u': data['u'], 'rf': lf_display_knowl( rflabel, name=printquad(data['rf'], p)), 'base': lf_display_knowl(str(p)+'.1.0.1', name='$%s$' % Qp), 'hw': data['hw'], @@ -483,6 +481,10 @@ def render_field_webpage(args): info.update({'residual_polynomials': ",".join(f"${teXify_pol(poly)}$" for poly in data['residual_polynomials'])}) if 'associated_inertia' in data: info.update({'associated_inertia': ",".join(f"${ai}$" for ai in data['associated_inertia'])}) + if 't' in data: + info.update({'t': data['t']}) + if 'u' in data: + info.update({'u': data['u']}) if 'galois_label' in data: info.update({'gal': group_pretty_and_nTj(gn, gt, True), 'galphrase': galphrase, From d06365241bfaf8226804f2d4fa7969e78f8e5033 Mon Sep 17 00:00:00 2001 From: John Jones <jj@asu.edu> Date: Mon, 16 Dec 2024 17:27:46 -0500 Subject: [PATCH 2/5] Deal with not computed in search columns --- lmfdb/local_fields/main.py | 22 +++++++++++-------- .../local_fields/templates/lf-show-field.html | 2 +- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lmfdb/local_fields/main.py b/lmfdb/local_fields/main.py index 24e4af7d08..0131e01c47 100644 --- a/lmfdb/local_fields/main.py +++ b/lmfdb/local_fields/main.py @@ -304,6 +304,13 @@ def galcolresponse(n,t,cache): return 'not computed' return group_pretty_and_nTj(n, t, cache=cache) +def formatbracketcol(blist): + if blist == []: + return r'$[\ ]$' + if not blist: + return 'not computed' + return f'${blist}$' + lf_columns = SearchColumns([ LinkCol("label", "lf.field.label", "Label", url_for_label), MathCol("n", "lf.degree", "$n$", short_title="degree", default=False), @@ -327,8 +334,8 @@ def galcolresponse(n,t,cache): # want apply_download for download conversion PolynomialCol("unram", "lf.unramified_subfield", "Unram. Ext.", default=lambda info:info.get("visible")), ProcessedCol("eisen", "lf.eisenstein_polynomial", "Eisen. Poly.", default=lambda info:info.get("visible"), mathmode=True, func=format_eisen), - MathCol("ind_of_insep", "lf.indices_of_inseparability", "Ind. of Insep.", default=lambda info: info.get("ind_of_insep")), - MathCol("associated_inertia", "lf.associated_inertia", "Assoc. Inertia", default=lambda info: info.get("associated_inertia"))], + ProcessedCol("ind_of_insep", "lf.indices_of_inseparability", "Ind. of Insep.", formatbracketcol, default=lambda info: info.get("ind_of_insep")), + ProcessedCol("associated_inertia", "lf.associated_inertia", "Assoc. Inertia", formatbracketcol, default=lambda info: info.get("associated_inertia"))], db_cols=["c", "coeffs", "e", "f", "gal", "label", "n", "p", "slopes", "t", "u", "visible", "ind_of_insep", "associated_inertia","unram","eisen"]) def lf_postprocess(res, info, query): @@ -446,7 +453,7 @@ def render_field_webpage(args): if 'wild_gap' in data and data['wild_gap'] != [0,0]: wild_inertia = abstract_group_display_knowl(f"{data['wild_gap'][0]}.{data['wild_gap'][1]}") else: - wild_inertia = 'data not computed' + wild_inertia = 'Not computed' info.update({ 'polynomial': raw_typeset(polynomial), @@ -473,18 +480,15 @@ def render_field_webpage(args): info.update({'slopes': show_slopes(data['slopes'])}) if 'inertia' in data: info.update({'inertia': group_display_inertia(data['inertia'])}) - if 'gms' in data: - info.update({'gms': data['gms']}) + for k in ['gms', 't', 'u']: + if k in data: + info.update({k: data[k]}) if 'ram_poly_vert' in data: info.update({'ram_polygon_plot': plot_polygon(data['ram_poly_vert'], data['residual_polynomials'], data['ind_of_insep'], p)}) if 'residual_polynomials' in data: info.update({'residual_polynomials': ",".join(f"${teXify_pol(poly)}$" for poly in data['residual_polynomials'])}) if 'associated_inertia' in data: info.update({'associated_inertia': ",".join(f"${ai}$" for ai in data['associated_inertia'])}) - if 't' in data: - info.update({'t': data['t']}) - if 'u' in data: - info.update({'u': data['u']}) if 'galois_label' in data: info.update({'gal': group_pretty_and_nTj(gn, gt, True), 'galphrase': galphrase, diff --git a/lmfdb/local_fields/templates/lf-show-field.html b/lmfdb/local_fields/templates/lf-show-field.html index 013ed8f248..62a3d5802b 100644 --- a/lmfdb/local_fields/templates/lf-show-field.html +++ b/lmfdb/local_fields/templates/lf-show-field.html @@ -62,7 +62,7 @@ <h2>{{ KNOWL('lf.ramification_polygon_display', title='Ramification polygon') }} <tr><td>{{ KNOWL('lf.indices_of_inseparability', 'Indices of inseparability')}}:</td><td>{{info.ind_insep|safe}}</tr> </table> {% else %} - Data not computed + Not computed {% endif %} From 79e64e0842627b4099d6659b6781c867171205e2 Mon Sep 17 00:00:00 2001 From: John Jones <jj@asu.edu> Date: Mon, 16 Dec 2024 17:32:11 -0500 Subject: [PATCH 3/5] two more columns --- lmfdb/local_fields/main.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lmfdb/local_fields/main.py b/lmfdb/local_fields/main.py index 0131e01c47..9d38b12a17 100644 --- a/lmfdb/local_fields/main.py +++ b/lmfdb/local_fields/main.py @@ -311,6 +311,11 @@ def formatbracketcol(blist): return 'not computed' return f'${blist}$' +def intcol(j): + if not j: + return 'not computed' + return f'${j}$' + lf_columns = SearchColumns([ LinkCol("label", "lf.field.label", "Label", url_for_label), MathCol("n", "lf.degree", "$n$", short_title="degree", default=False), @@ -323,8 +328,8 @@ def formatbracketcol(blist): ["n", "gal", "cache"], galcolresponse, apply_download=lambda n, t, cache: [n, t]), - MathCol("u", "lf.unramified_degree", "$u$", short_title="unramified degree", default=False), - MathCol("t", "lf.tame_degree", "$t$", short_title="tame degree", default=False), + ProcessedCol("u", "lf.unramified_degree", "$u$", intcol, short_title="unramified degree", default=False), + ProcessedCol("t", "lf.tame_degree", "$t$", intcol, short_title="tame degree", default=False), ListCol("visible", "lf.visible_slopes", "Visible slopes", show_slopes2, default=lambda info: info.get("visible"), mathmode=True), MultiProcessedCol("slopes", "lf.slope_content", "Slope content", From 3197322a5c15136c02a051358c0e9bf2d2c7f822 Mon Sep 17 00:00:00 2001 From: David Roe <roed.math@gmail.com> Date: Mon, 16 Dec 2024 20:35:31 -0500 Subject: [PATCH 4/5] Fix handling of None --- lmfdb/local_fields/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lmfdb/local_fields/main.py b/lmfdb/local_fields/main.py index 9d38b12a17..bc490d5bf5 100644 --- a/lmfdb/local_fields/main.py +++ b/lmfdb/local_fields/main.py @@ -305,14 +305,14 @@ def galcolresponse(n,t,cache): return group_pretty_and_nTj(n, t, cache=cache) def formatbracketcol(blist): + if blist is None: + return 'not computed' if blist == []: return r'$[\ ]$' - if not blist: - return 'not computed' return f'${blist}$' def intcol(j): - if not j: + if j is None: return 'not computed' return f'${j}$' From 54cf9e628a52264eab86298aec08d1f76153217c Mon Sep 17 00:00:00 2001 From: David Roe <roed.math@gmail.com> Date: Mon, 16 Dec 2024 22:22:41 -0500 Subject: [PATCH 5/5] Fix Nones --- lmfdb/local_fields/main.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lmfdb/local_fields/main.py b/lmfdb/local_fields/main.py index bc490d5bf5..53c929346b 100644 --- a/lmfdb/local_fields/main.py +++ b/lmfdb/local_fields/main.py @@ -305,14 +305,14 @@ def galcolresponse(n,t,cache): return group_pretty_and_nTj(n, t, cache=cache) def formatbracketcol(blist): - if blist is None: - return 'not computed' if blist == []: return r'$[\ ]$' + if blist == '': + return 'not computed' return f'${blist}$' def intcol(j): - if j is None: + if j == '': return 'not computed' return f'${j}$'