Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
54580e7
Change front page layout to use flexbox
havarddj Oct 31, 2025
443c27a
Cleanup of css and removed an extra </a>
havarddj Oct 31, 2025
021f9fb
Update code.yaml
hgu2699 Nov 6, 2025
afc072c
Update code.yaml
hgu2699 Nov 6, 2025
4fff837
Update code.yaml
hgu2699 Nov 6, 2025
5403d0e
Improve layout on very large and very small screens
havarddj Nov 7, 2025
bed1aa6
Merge branch 'main' into flexfix
havarddj Nov 7, 2025
fa99923
Solve (Auto-generated) Errors in code snippets #6701, elliptic curves
hgu2699 Nov 7, 2025
b67f01f
Solve Imfdb ecnf code.yaml
hgu2699 Nov 8, 2025
377be4a
Solve imfdb number_fields/code.yaml
hgu2699 Nov 8, 2025
5d4390e
Solve imfdb number_fields/code.yaml
hgu2699 Nov 8, 2025
bd89007
Solve imfdb number_fields/code.yaml
hgu2699 Nov 8, 2025
9743113
Solve imfdb number_fields/code.yaml
hgu2699 Nov 8, 2025
e54cac5
Solve (Auto-generated) Errors in code snippets #6701, elliptic curves
hgu2699 Nov 8, 2025
9b54f83
Solve ecnf code.yaml
hgu2699 Nov 8, 2025
dfe19b4
Solve (Auto-generated) Errors in code snippets #6701, elliptic curves
hgu2699 Nov 8, 2025
9d7f6e3
Solve (Auto-generated) Errors in code snippets #6701, elliptic curves
hgu2699 Nov 8, 2025
d182a0e
Merge pull request #6758 from hgu2699/patch-12
edgarcosta Nov 10, 2025
a5ba2ce
Merge pull request #6757 from hgu2699/patch-11
edgarcosta Nov 10, 2025
acb5072
snippet code test files generated by action
edgarcosta Nov 10, 2025
d15f1ed
Merge pull request #6763 from LMFDB/create-pull-request/patch
edgarcosta Nov 10, 2025
e9ec046
Solve (Auto-generated) Errors in code snippets #6701, elliptic curves
hgu2699 Nov 13, 2025
5da6473
Solve (Auto-generated) Errors in code snippets #6701, elliptic curves
hgu2699 Nov 13, 2025
08e1f93
Merge pull request #6756 from hgu2699/patch-10
roed314 Nov 14, 2025
f0913e5
snippet code test files generated by action
roed314 Nov 14, 2025
d12663c
Merge pull request #6744 from havarddj/flexfix
AndrewVSutherland Nov 14, 2025
b15d05b
fixing bug in size guessing for create_table_like
assaferan Nov 14, 2025
d8d91f0
Merge pull request #6767 from assaferan/main
roed314 Nov 14, 2025
f34dc21
Initial version of completeness checking
roed314 Nov 14, 2025
a00e86d
snippet code test files generated by action
roed314 Nov 14, 2025
ef22d53
Merge pull request #386 from roed314/create-pull-request/patch
roed314 Nov 16, 2025
9d065f4
Display cyclic group of points info on AV/Fq page
Nov 16, 2025
1abca1b
Add cyclic isogeny invariants, search options, and tests for AV/Fq
Nov 16, 2025
f9238a0
Adjust AV/Fq browse tests for cyclic invariants
Nov 16, 2025
5e8730c
Fixing various bugs
roed314 Nov 17, 2025
f1c45c2
Merge branch 'complete' of github.com:roed314/lmfdb into complete
roed314 Nov 17, 2025
1cb867a
Fixing some more bugs
roed314 Nov 17, 2025
c568ee7
Fixing more bugs, now in other sections
roed314 Nov 17, 2025
67338c8
Switching to RealSets, fixing bugs
roed314 Nov 19, 2025
c6b9078
Fixing bugs, adding tests
roed314 Nov 20, 2025
dcdfba4
Fixing some bugs
roed314 Nov 20, 2025
db722d3
Fix one more test error
roed314 Nov 20, 2025
bba778f
Fix another typo
roed314 Nov 20, 2025
afcccfb
Merge pull request #6765 from LMFDB/create-pull-request/patch
roed314 Nov 21, 2025
903cc4b
#6696 lmfdb/abvar/fq/isog_class.py
hgu2699 Nov 21, 2025
f3c9b86
#6696 lmfdb/abvar/fq/isog_class.py
hgu2699 Nov 21, 2025
aa86263
Fix bug in subgroup display when missing aut_tex
roed314 Nov 21, 2025
25f7264
Update show-abvarfq.html
hgu2699 Nov 21, 2025
75e79a7
Update main.py
hgu2699 Nov 21, 2025
625534e
Update test_browse_page.py
hgu2699 Nov 21, 2025
8626128
Update test_browse_page.py
hgu2699 Nov 21, 2025
dbde381
Update test_browse_page.py
hgu2699 Nov 22, 2025
fd9d905
Update test_browse_page.py
hgu2699 Nov 22, 2025
b4810d6
fix null_column_exceptions in hgcwa
jenpaulhus Nov 23, 2025
2ee366c
Merge branch 'main' of github.com:LMFDB/lmfdb into inc_message
jenpaulhus Nov 23, 2025
5ac2304
Merge pull request #6777 from jenpaulhus/inc_message
roed314 Nov 24, 2025
a6db398
Merge branch 'main' of github.com:LMFDB/lmfdb into complete
roed314 Nov 24, 2025
773bfba
autopep8 action fixes
roed314 Nov 24, 2025
1e9e9f2
Merge pull request #6778 from LMFDB/autopep8-patches
roed314 Nov 24, 2025
c459dd3
Update show-abvarfq.html
hgu2699 Nov 24, 2025
8eb2275
Merge pull request #6776 from roed314/aut_tex_missing
jenpaulhus Nov 25, 2025
6b61ac3
Merge pull request #6772 from hgu2699/abvarfq-cyclic-isogeny
AndrewVSutherland Nov 26, 2025
9428ff6
autopep8 action fixes
AndrewVSutherland Nov 26, 2025
198a076
Merge pull request #6779 from LMFDB/autopep8-patches
roed314 Nov 26, 2025
de9cac7
Merge pull request #6773 from roed314/complete
AndrewVSutherland Nov 26, 2025
7d5d614
autopep8 action fixes
AndrewVSutherland Nov 26, 2025
d5e9c0c
Merge pull request #6781 from LMFDB/autopep8-patches
roed314 Nov 27, 2025
f83892b
Add number field picture description page
havarddj Nov 28, 2025
b87b9f1
Change knowl ID
havarddj Nov 28, 2025
7378754
Fix error when downloading fields without slopes known
roed314 Nov 29, 2025
86341aa
Merge pull request #6785 from roed314/padic_download
jenpaulhus Nov 29, 2025
4dcb627
autopep8 action fixes
jenpaulhus Nov 29, 2025
1cfa8c7
Merge pull request #6786 from LMFDB/autopep8-patches
roed314 Nov 29, 2025
29cc30c
Don't update ongoing operations on proddb
roed314 Dec 1, 2025
440cc2b
Merge pull request #6787 from roed314/proddb_ongoing_ops
AndrewVSutherland Dec 1, 2025
3c5c9cc
Merge pull request #6782 from havarddj/main
jwj61 Dec 1, 2025
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
15 changes: 13 additions & 2 deletions lmfdb/abvar/fq/isog_class.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,11 @@ def __init__(self, dbdata):
dbdata["hyp_count"] = None
if "jacobian_count" not in dbdata:
dbdata["jacobian_count"] = None
# New invariants: cyclicity and noncyclic primes
if "is_cyclic" not in dbdata:
dbdata["is_cyclic"] = None
if "noncyclic_primes" not in dbdata:
dbdata["noncyclic_primes"] = []
self.__dict__.update(dbdata)

@classmethod
Expand Down Expand Up @@ -232,9 +237,15 @@ def properties(self):
("Primitive", "yes" if self.is_primitive else "no"),
]
if self.has_principal_polarization != 0:
props += [("Principally polarizable", "yes" if self.has_principal_polarization == 1 else "no")]
props += [(
"Principally polarizable",
"yes" if self.has_principal_polarization == 1 else "no",
)]
if self.has_jacobian != 0:
props += [("Contains a Jacobian", "yes" if self.has_jacobian == 1 else "no")]
props += [(
"Contains a Jacobian",
"yes" if self.has_jacobian == 1 else "no",
)]
return props

# at some point we were going to display the weil_numbers instead of the frobenius angles
Expand Down
39 changes: 37 additions & 2 deletions lmfdb/abvar/fq/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
from lmfdb.utils import redirect_no_cache
from lmfdb.utils.search_columns import SearchColumns, SearchCol, MathCol, LinkCol, ProcessedCol, CheckCol, CheckMaybeCol
from lmfdb.abvar.fq.download import AbvarFq_download
from lmfdb.utils.search_parsing import parse_primes

logger = make_logger("abvarfq")

Expand Down Expand Up @@ -399,8 +400,31 @@ def nbsp(knowl, label):
jacobian = YesNoMaybeBox(
"jacobian",
label="Jacobian",
knowl="ag.jacobian"
knowl="ag.jacobian",
)

# Cyclic group of points (advanced yes/no box)
cyclic = YesNoBox(
"cyclic",
label="Cyclic group of points",
knowl="av.fq.cyclic_group_points",
advanced=True,
)

# Non-cyclic primes with mode selector (include / exactly / subset)
noncyclic_mode = SubsetBox(
"noncyclic_primes_mode",
advanced=True,
)
noncyclic_primes = TextBoxWithSelect(
"noncyclic_primes",
label="Non-cyclic primes",
select_box=noncyclic_mode,
knowl="av.fq.noncyclic_primes",
example="2 or 2,3,5",
advanced=True,
)

uglabel = "Use %s in the following inputs" % display_knowl("av.decomposition", "Geometric decomposition")
use_geom_decomp = CheckBox(
"use_geom_decomp",
Expand Down Expand Up @@ -506,6 +530,7 @@ def short_label(d):
[newton_polygon, abvar_point_count, curve_point_count, simple_factors],
[newton_elevation, jac_cnt, hyp_cnt, twist_count, max_twist_degree],
[angle_rank, angle_corank, geom_deg, p_corank, geom_squarefree],
[cyclic, noncyclic_primes],
use_geom_refine,
[dim1, dim2, dim3, dim4, dim5],
[dim1d, dim2d, dim3d, number_field, galois_group],
Expand All @@ -516,6 +541,7 @@ def short_label(d):
[g, geom_simple],
[initial_coefficients, polarizable],
[p_rank, jacobian],
[cyclic, noncyclic_primes],
[p_corank, geom_squarefree],
[jac_cnt, hyp_cnt],
[angle_rank, angle_corank],
Expand Down Expand Up @@ -552,6 +578,7 @@ def common_parse(info, query):
parse_bool(info, query, "primitive", qfield="is_primitive")
parse_bool_unknown(info, query, "jacobian", qfield="has_jacobian")
parse_bool_unknown(info, query, "polarizable", qfield="has_principal_polarization")
parse_bool(info, query, "cyclic", qfield="is_cyclic")
parse_ints(info, query, "p_rank")
parse_ints(info, query, "p_corank", qfield="p_rank_deficit")
parse_ints(info, query, "angle_rank")
Expand All @@ -561,6 +588,14 @@ def common_parse(info, query):
parse_ints(info, query, "hyp_cnt", qfield="hyp_count", name="Number of Hyperelliptic Jacobians")
parse_ints(info, query, "twist_count")
parse_ints(info, query, "max_twist_degree")
parse_primes(
info,
query,
"noncyclic_primes",
qfield="noncyclic_primes",
mode=info.get("noncyclic_primes_mode"),
)

parse_ints(info, query, "size")
parse_newton_polygon(info, query, "newton_polygon", qfield="slopes")
parse_string_start(info, query, "initial_coefficients", qfield="poly_str", initial_segment=["1"])
Expand Down Expand Up @@ -680,7 +715,7 @@ def extended_code(c):
ProcessedCol("number_fields", "av.fq.number_field", "Number fields", lambda nfs: ", ".join(nf_display_knowl(nf, field_pretty(nf)) for nf in nfs), default=False),
SearchCol("galois_groups_pretty", "nf.galois_group", "Galois groups", download_col="galois_groups", default=False),
SearchCol("decomposition_display_search", "av.decomposition", "Isogeny factors", download_col="decompositionraw")],
db_cols=["label", "g", "q", "poly", "p_rank", "p_rank_deficit", "is_simple", "is_geometrically_simple", "simple_distinct", "simple_multiplicities", "is_primitive", "primitive_models", "curve_count", "curve_counts", "abvar_count", "abvar_counts", "jacobian_count", "hyp_count", "number_fields", "galois_groups", "slopes", "newton_elevation", "twist_count", "max_twist_degree", "geometric_extension_degree", "angle_rank", "angle_corank", "is_supersingular", "has_principal_polarization", "has_jacobian"])
db_cols=["label", "g", "q", "poly", "p_rank", "p_rank_deficit", "is_simple", "is_geometrically_simple", "simple_distinct", "simple_multiplicities", "is_primitive", "primitive_models", "curve_count", "curve_counts", "abvar_count", "abvar_counts", "jacobian_count", "hyp_count", "number_fields", "galois_groups", "slopes", "newton_elevation", "twist_count", "max_twist_degree", "geometric_extension_degree", "angle_rank", "angle_corank", "is_supersingular", "has_principal_polarization", "has_jacobian", "is_cyclic", "noncyclic_primes"])

def abvar_postprocess(res, info, query):
gals = set()
Expand Down
21 changes: 21 additions & 0 deletions lmfdb/abvar/fq/templates/show-abvarfq.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,27 @@ <h2>Invariants</h2>
{% if cl.size is not none %}
<tr><td>{{KNOWL('av.fq.isogeny_class_size',title='Isomorphism classes')}}:</td><td>&nbsp;&nbsp;{{cl.size}}</td></tr>
{% endif %}
{# --- NEW: cyclicity invariants --- #}
{% if cl.is_cyclic is not none %}
<tr>
<td>{{ KNOWL('av.fq.cyclic_group_points', title='Cyclic group of points') }}:</td>
<td>&nbsp;&nbsp;
{% if cl.is_cyclic %}
yes
{% else %}
no
{% endif %}
</td>
</tr>
{% endif %}


{% if cl.noncyclic_primes %}
<tr>
<td>{{ KNOWL('av.fq.noncyclic_primes', title='Non-cyclic primes') }}:</td>
<td>&nbsp;&nbsp;${{ cl.noncyclic_primes|join(', ') }}$</td>
</tr>
{% endif %}
</table>
</p>

Expand Down
8 changes: 8 additions & 0 deletions lmfdb/abvar/fq/test_av.py
Original file line number Diff line number Diff line change
Expand Up @@ -157,3 +157,11 @@ def test_download_curves(self):

page = self.tc.get('Variety/Abelian/Fq/download_curves/5.3.ac_e_ai_v_abl', follow_redirects=True)
assert 'No curves for abelian variety isogeny class 5.3.ac_e_ai_v_abl' in page.get_data(as_text=True)

def test_cyclic_group_of_points_display(self):
r"""
Check that the cyclic group of points information is displayed
on the isogeny-class page.
"""
page = self.tc.get("/Variety/Abelian/Fq/2/9/aj_bl").get_data(as_text=True)
assert "Cyclic" in page
75 changes: 67 additions & 8 deletions lmfdb/abvar/fq/test_browse_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ def test_index_page(self):
"""
homepage = self.tc.get("/Variety/Abelian/Fq/").get_data(as_text=True)
assert "by dimension and base field" in homepage
assert "Cyclic group of points" in homepage

def test_stats_page(self):
self.check_args("/Variety/Abelian/Fq/stats","Abelian variety isogeny classes: Statistics")
self.check_args("/Variety/Abelian/Fq/stats", "Abelian variety isogeny classes: Statistics")

# TODO test dynamic stats

Expand Down Expand Up @@ -43,7 +44,10 @@ def test_lookup(self):
r"""
Check that Variety/Abelian/Fq/?jump works
"""
self.check_args("/Variety/Abelian/Fq/?jump=x^6-3*x^5%2B3*x^4-2*x^3%2B6*x^2-12*x%2B8", "3.2.ad_d_ac")
self.check_args(
"/Variety/Abelian/Fq/?jump=x^6-3*x^5%2B3*x^4-2*x^3%2B6*x^2-12*x%2B8",
"3.2.ad_d_ac"
)

# Various searches
# Many things are checked twice: Once from main index/browse page, and once from the refining search page
Expand Down Expand Up @@ -148,7 +152,10 @@ def test_search_newton(self):
# slope not a rational number
self.check_args("/Variety/Abelian/Fq/?newton_polygon=t", "is not a valid input")
# slopes are not increasing
self.check_args("/Variety/Abelian/Fq/?start=&count=&newton_polygon=%5B1%2C1%2F2%2C0%5D", "Slopes must be increasing")
self.check_args(
"/Variety/Abelian/Fq/?start=&count=&newton_polygon=%5B1%2C1%2F2%2C0%5D",
"Slopes must be increasing"
)

def test_search_initcoeffs(self):
r"""
Expand All @@ -157,7 +164,10 @@ def test_search_initcoeffs(self):
self.check_args("/Variety/Abelian/Fq/?initial_coefficients=%5B1%2C-1%2C3%2C9%5D", "4.3.b_ab_d_j")
self.check_args("/Variety/Abelian/Fq/?initial_coefficients=%5B1%2C-1%2C3%2C9%5D", "4.3.b_ab_d_j")
# there should be only one match, if ranges were supported
self.check_args("/Variety/Abelian/Fq/?angle_ranks=&initial_coefficients=%5B3%2C+9%2C+10%2C+87-100%5D", "Ranges not supported")
self.check_args(
"/Variety/Abelian/Fq/?angle_ranks=&initial_coefficients=%5B3%2C+9%2C+10%2C+87-100%5D",
"Ranges not supported"
)

def test_search_pointcountsav(self):
r"""
Expand Down Expand Up @@ -187,8 +197,14 @@ def test_search_isogfactor(self):
Check that we can search by decomposition into isogeny factors
"""
# [3.5.ah_y_ach,*]
self.check_args("/Variety/Abelian/Fq/?simple_quantifier=include&simple_factors=3.5.ah_y_ach", "4.5.ak_by_agk_qb")
self.check_args("/Variety/Abelian/Fq/?p_rank=4&dim1_factors=2&dim2_factors=2&dim1_distinct=1&dim2_distinct=1", "6.2.ag_p_aw_bh_acu_ey")
self.check_args(
"/Variety/Abelian/Fq/?simple_quantifier=include&simple_factors=3.5.ah_y_ach",
"4.5.ak_by_agk_qb"
)
self.check_args(
"/Variety/Abelian/Fq/?p_rank=4&dim1_factors=2&dim2_factors=2&dim1_distinct=1&dim2_distinct=1",
"6.2.ag_p_aw_bh_acu_ey"
)
self.check_args("/Variety/Abelian/Fq/?dim1_factors=6&dim1_distinct=1", "5 matches")

def test_search_numberfield(self):
Expand Down Expand Up @@ -274,8 +290,51 @@ def test_search_combos(self):
self.check_args("/Variety/Abelian/Fq/?p_rank=2&initial_coefficients=%5B1%2C-1%2C3%2C9%5D", "4.3.b_ab_d_j")
self.check_args("/Variety/Abelian/Fq/?p_rank=2&initial_coefficients=%5B1%2C-1%2C3%2C9%5D", "4.3.b_ab_d_j")
# initial coefficients and point counts of the abelian variety
self.check_args("/Variety/Abelian/Fq/?initial_coefficients=%5B1%2C-1%2C3%2C9%5D&abvar_point_count=%5B75%2C7125%5D", "No matches")
self.check_args("/Variety/Abelian/Fq/?initial_coefficients=%5B1%2C-1%2C3%2C9%5D&abvar_point_count=%5B75%2C7125%5D", "No matches")
self.check_args(
"/Variety/Abelian/Fq/?initial_coefficients=%5B1%2C-1%2C3%2C9%5D&abvar_point_count=%5B75%2C7125%5D",
"No matches"
)
self.check_args(
"/Variety/Abelian/Fq/?initial_coefficients=%5B1%2C-1%2C3%2C9%5D&abvar_point_count=%5B75%2C7125%5D",
"No matches"
)
# Combining unknown fields on Jacobian and Principal polarization.
self.check_args("/Variety/Abelian/Fq/?g=3&jacobian=no&polarizable=not_no", "3.2.a_a_ae")
self.check_args("/Variety/Abelian/Fq/?g=3&jacobian=no&polarizable=yes", "3.2.a_ac_a")

def test_search_cyclic_group(self):
r"""
Check that we can restrict to cyclic or non-cyclic groups of points
using the cyclic search parameter.
"""
# 1.2.ac has cyclic group of points (is_cyclic = True)
self.check_args(
"/Variety/Abelian/Fq/?cyclic=yes",
">1.2.ac<",
)

# 1.3.a has non-cyclic group of points (is_cyclic = False)
self.check_args(
"/Variety/Abelian/Fq/?cyclic=no",
">1.3.a<",
)

# And make sure they do not appear in the wrong list
self.not_check_args(
"/Variety/Abelian/Fq/?cyclic=yes",
">1.3.a<",
)
self.not_check_args(
"/Variety/Abelian/Fq/?cyclic=no",
">1.2.ac<",
)

def test_search_noncyclic_primes(self):
r"""
Check that the noncyclic_primes search parameter is accepted and
finds classes that are non-cyclic at p = 2.
"""
self.check_args(
"/Variety/Abelian/Fq/?noncyclic_primes=2",
">1.3.a<",
)
4 changes: 3 additions & 1 deletion lmfdb/ecnf/code.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ cond:
cond_norm:
comment: Compute the norm of the conductor
sage: E.conductor().norm()
pari: idealnorm(ellglobalred(E)[1])
pari: idealnorm(K, ellglobalred(E)[1])
magma: Norm(Conductor(E));

disc:
Expand Down Expand Up @@ -128,4 +128,6 @@ snippet_test:
label: 81.1-CMa1
langs:
url: EllipticCurve/2.0.3.1/81.1/CMa/1/download/{lang}



6 changes: 1 addition & 5 deletions lmfdb/elliptic_curves/code.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -180,10 +180,6 @@ qexp:
comment: q-expansion of modular form
sage: E.q_eigenform(20)
pari: |
\\ actual modular form, use for small N
[mf,F] = mffromell(E)
Ser(mfcoefs(mf,20),q)
\\ or just the series
Ser(ellan(E,20),q)*q
magma: ModularForm(E);

Expand Down Expand Up @@ -251,4 +247,4 @@ snippet_test:
test37a1:
label: 37.a1
url: EllipticCurve/Q/37/a/1/download/{lang}?label=37.a1

4 changes: 0 additions & 4 deletions lmfdb/groups/abstract/templates/abstract-show-subgroup.html
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,7 @@ <h2> Automorphism information </h2>
<table>
<tr><td>$\operatorname{Aut}(G)$</td><td>{{seq.amb.show_aut_group()|safe}}</td></tr>
<tr><td>$\operatorname{Aut}(H)$</td><td>
{% if seq.sub|attr('show_aut_group') %}
{{seq.sub.show_aut_group()|safe}}
{% else %}
not computed
{% endif %}
</td></tr>
{% if seq.aut_weyl_group is not none %}
<tr><td>$\operatorname{res}({{S}})$</td><td><a href="{{url_for('.by_label', label=seq.aut_weyl_group)}}">${{seq.aut_weyl.tex_name}}$</a>, of order {{info.pos_int_and_factor(seq.aut_weyl.order) | safe}}</td></tr>
Expand Down
9 changes: 3 additions & 6 deletions lmfdb/groups/abstract/web_groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -2572,26 +2572,23 @@ def show_aut_group(self):
if self.aut_order is None:
return "not computed"
aut_order = pos_int_and_factor(self.aut_order)
tex = self.aut_tex
tex = getattr(self, "aut_tex", None)
if tex is None:
return f'Group of order {aut_order}'
else:
tex = tex.replace("\t",r"\t")
if self.aut_group is not None:
url = url_for(".by_label", label=self.aut_group)
return f'<a href="{url}">${tex}$</a>, of order {aut_order}'
if tex is None:
return f"Group of order {aut_order}"
else:
return f'${tex}$'
return f"${tex}$, of order {aut_order}"

def aut_group_knowl(self):
if self.aut_order is None:
return "not computed"
if self.live():
return f"Group of order {self.aut_order}"
aut_order = pos_int_and_factor(self.aut_order)
tex = self.aut_tex
tex = getattr(self, "aut_tex", None)
if tex is None:
tex = "Group"
knowl = f'<a title = "{tex} [lmfdb.object_information]" knowl="lmfdb.object_information" kwargs="args={self.label}&func=autknowl_data">{tex}</a>'
Expand Down
6 changes: 6 additions & 0 deletions lmfdb/higher_genus_w_automorphisms/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -1276,6 +1276,12 @@ class HGCWASearchArray(SearchArray):
jump_egspan = "e.g. 2.12-4.0.2-2-2-3 or 3.168-42.0.2-3-7.2"
jump_knowl = "curve.highergenus.aut.search_input"
jump_prompt = "Label"
null_column_explanations = { # No need to display warnings for these
'hyperelliptic': False,
'cyclic_trigonal': False,
'full_label': False,
'full_auto': False,
}

def __init__(self):
genus = TextBox(
Expand Down
Loading
Loading