Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

main -> web #6100

Merged
merged 16 commits into from
Jul 9, 2024
6 changes: 3 additions & 3 deletions lmfdb/bianchi_modular_forms/bianchi_modular_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -791,7 +791,7 @@ class BianchiStats(StatsDisplay):
stat_list = [
{'cols': ['field_label', 'level_norm'],
'top_title': '%s by %s and %s' % (
display_knowl("mf.bianchi.bianchimodularforms",
display_knowl("mf.bianchi",
"Bianchi modular forms"),
display_knowl('nf', 'base field'),
display_knowl('mf.bianchi.level', 'level norm')),
Expand Down Expand Up @@ -852,7 +852,7 @@ def __init__(self):
def summary(self):
return r"The database currently contains %s %s of weight 2 over %s imaginary quadratic fields, and %s %s over %s imaginary quadratic fields, including all with class number one." % (
comma(self.nforms),
display_knowl("mf.bianchi.bianchimodularforms",
display_knowl("mf.bianchi",
"Bianchi modular forms"),
self.nformfields,
comma(self.ndims),
Expand All @@ -862,4 +862,4 @@ def summary(self):

@property
def short_summary(self):
return r'The database currently contains %s %s of weight 2 over %s imaginary quadratic fields. Here are some <a href="%s">further statistics</a>.' % (comma(self.nforms), display_knowl("mf.bianchi.bianchimodularforms", "Bianchi modular forms"), self.nformfields, url_for(".statistics"))
return r'The database currently contains %s %s of weight 2 over %s imaginary quadratic fields. Here are some <a href="%s">further statistics</a>.' % (comma(self.nforms), display_knowl("mf.bianchi", "Bianchi modular forms"), self.nformfields, url_for(".statistics"))
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

<p>
Table of the dimensions of the spaces of {{
KNOWL('mf.bianchi.bianchimodularforms', title='Bianchi cusp forms') }}
KNOWL('mf.bianchi', title='Bianchi cusp forms') }}
for \(\Gamma_0(\mathfrak{n})\subseteq {{info.bgroup}}\) for {{
KNOWL('mf.bianchi.level', title='levels') }} \(\mathfrak{n}\) ordered
by norm, over \(K=\) {{info.field_pretty}}.
Expand Down
67 changes: 67 additions & 0 deletions lmfdb/groups/abstract/code.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
prompt:
magma: 'magma'
gap: 'gap'

logo:
magma: <img src = "https://i.stack.imgur.com/0468s.png" width="50px">
gap: <img src = "https://gap.math.u-bordeaux.fr/logo/Logo%20Couleurs/Logo_GAP-GP_Couleurs_L150px.png" width="50px">

comment:
magma: |
//
gap: |
#

not-implemented:
magma: |
// (not yet implemented)
gap: |
# (not yet implemented)



presentation:
comment: Define the group with the given generators and relations
magma: G := PCGroup({pccodelist}); {gens} := Explode({used_gens}); AssignNames(~G, {magma_assign});
gap: G := PcGroupCode({pccode},{ordgp}); {gap_assign}


permutation:
comment: Define the group as a permutation group
magma: G := PermutationGroup< {deg} | {perms} >;
gap: G := Group( {perms} );


GLZ:
comment: Define the group as a matrix group with coefficients in Z
magma: G := MatrixGroup< {nZ}, Integers() | {LZ} >;
gap: G := Group({LZsplit});


GLFp:
comment: Define the group as a matrix group with coefficients in GLFp
magma: G := MatrixGroup< {nFp}, GF({Fp}) | {LFp} >;
gap: G := not yet implemented
# gap: G := Group({LFpsplit});

GLZN:
comment: Define the group as a matrix group with coefficients in GLZN
magma: G := MatrixGroup< {nZN}, Integers({N}) | {LZN} >;
gap: G := Group({LZNsplit});

GLZq:
comment: Define the group as a matrix group with coefficients in GLZq
magma: G := MatrixGroup< {nZq}, Integers({Zq}) | {LZq} >;
gap: G := Group({LZqsplit});


#GLFq:
# comment: Define the group as a matrix group with coefficients in GLFq
# magma: G := MatrixGroup< {nFq}, GL({Fq}) | {LFq} >;
# gap: G := Group({LFqsplit});

transitive:
comment: Define the group from the transitive group database
magma: G := TransitiveGroup(d,n);
gap: G := TransitiveGroup(d,n);

31 changes: 21 additions & 10 deletions lmfdb/groups/abstract/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -1540,7 +1540,6 @@ def diagram_js_string(gp, only=None):

# Writes individual pages
def render_abstract_group(label, data=None):

info = {}
if data is None:
label = clean_input(label)
Expand Down Expand Up @@ -1571,12 +1570,15 @@ def render_abstract_group(label, data=None):

title = f"Abstract group ${gp.tex_name}$"

# disable until we can fix downloads
downloads = [
("Group to Gap", url_for(".download_group", label=label, download_type="gap")),
("Group to Magma", url_for(".download_group", label=label, download_type="magma")),
("Group to Oscar", url_for(".download_group", label=label, download_type="oscar")),
("Underlying data", url_for(".gp_data", label=label)),
("Underlying data", url_for(".gp_data", label=label)),
]
# ("Group to Gap", url_for(".download_group", label=label, download_type="gap")),
# ("Group to Magma", url_for(".download_group", label=label, download_type="magma")),
# ("Group to Oscar", url_for(".download_group", label=label, download_type="oscar")),
# ("Underlying data", url_for(".gp_data", label=label)),
# ]

# "internal" friends
sbgp_of_url = (
Expand Down Expand Up @@ -1651,6 +1653,7 @@ def render_abstract_group(label, data=None):
bread=bread,
info=info,
gp=gp,
code=gp.code_snippets(),
properties=gp.properties(),
friends=friends,
learnmore=learnmore_list_add(*learnmore_gp_picture),
Expand Down Expand Up @@ -2742,11 +2745,8 @@ def cc_data(gp, label, typ="complex", representative=None):
ans += "<br>Representative: id"
else:
gp_value = WebAbstractGroup(gp)
if gp_value.representations.get("Lie") and gp_value.representations["Lie"][0]["family"][0] == "P" and gp_value.order < 2000: #Problem with projective lie groups of order <2000
pass
else:
repn = gp_value.decode(wacc.representative, as_str=True)
ans += "<br>Representative: {}".format("$" + repn + "$")
repn = gp_value.decode(wacc.representative, as_str=True)
ans += "<br>Representative: {}".format("$" + repn + "$")
return Markup(ans)


Expand Down Expand Up @@ -3082,3 +3082,14 @@ def order_stats_list_to_string(o_list):
if o_list.index(pair) != len(o_list) - 1:
s += ","
return s


sorted_code_names = ['presentation', 'permutation', 'matrix', 'transitive']

code_names = {'presentation': 'Define the group using generators and relations',
'permutation': 'Define the group as a permutation group',
'matrix': 'Define the group as a matrix group',
'transitive': 'Define the group from the transitive group database'}

Fullname = {'magma': 'Magma', 'gap': 'Gap'}
Comment = {'magma': '//', 'gap': '#'}
13 changes: 12 additions & 1 deletion lmfdb/groups/abstract/templates/abstract-show-group.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{% extends "homepage.html" %}


{% block content %}


<script type="text/javascript" src="{{ url_for('static', filename='groups.js') }}"></script>
<script type="text/javascript">
$(document).ready(
Expand All @@ -15,6 +15,7 @@
<script type="text/javascript" src="{{ url_for('static', filename='graphs/graph.js') }}"></script>



{% if gp.live() %}
<p>
This group is not stored in the database. However, basic information about the group, computed on the fly, is listed below.
Expand Down Expand Up @@ -191,6 +192,16 @@ <h2>Minimal Presentations</h2>
{% if not (gp.live() and gp.abelian) %}

<h2>Constructions</h2>
{% if code %}<div align="right" style="float: left;">
Show commands:
{% set slash = joiner("/ ") %}
{% for lang in code['show']|sort %}
{# override show names for standard languages to ensure consistency #}
{% set show = 'PariGP' if lang == 'pari' else 'SageMath' if lang == 'sage' else 'Magma' if lang == 'magma' else 'Oscar' if lang == 'oscar' else "Gap" if lang == 'gap' else code['show']['lang'] %}
{{slash()}}<a onclick="show_code('{{lang}}'); return false" href='#'>{{show}}</a>
{% endfor %}
</div><br><br>
{% endif %}

<table class=nowrap>
{{ gp.stored_representations | safe }}
Expand Down
Loading
Loading