Skip to content

Commit 49cc378

Browse files
Merge pull request #6273 from JohnCremona/ECNF-reals
ECNF better display of invariants
2 parents 15eec76 + a23a996 commit 49cc378

File tree

4 files changed

+77
-31
lines changed

4 files changed

+77
-31
lines changed

lmfdb/ecnf/WebEllipticCurve.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ def make_E(self):
487487
self.ntors = web_latex(self.torsion_order)
488488
self.tr = len(self.torsion_structure)
489489
if self.tr == 0:
490-
self.tor_struct_pretty = "trivial"
490+
self.tor_struct_pretty = "$0$"
491491
if self.tr == 1:
492492
self.tor_struct_pretty = r"\(\Z/%s\Z\)" % self.torsion_structure[0]
493493
if self.tr == 2:

lmfdb/ecnf/templates/ecnf-curve.html

Lines changed: 64 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,8 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
7676
<table id="invariants" style="overflow:auto;">
7777
<tr>
7878
<td>{{KNOWL('ec.conductor', title='Conductor')}}:</td>
79+
<td>$\frak{n}$</td>
80+
<td>=</td>
7981
<td>{{ ec.cond }}</td>
8082
<td>=</td>
8183
<td>{{ ec.fact_cond }}</td>
@@ -84,6 +86,8 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
8486

8587
<tr>
8688
<td>{{KNOWL('ec.conductor', title='Conductor norm')}}:</td>
89+
<td>$N(\frak{n})$</td>
90+
<td>=</td>
8791
<td>{{ ec.cond_norm }}</td>
8892
<td>=</td>
8993
<td>{{ ec.fact_cond_norm }}</td>
@@ -92,6 +96,8 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
9296

9397
<tr>
9498
<td>{{KNOWL('ec.discriminant', title='Discriminant')}}:</td>
99+
<td>$(\Delta)$</td>
100+
<td>=</td>
95101
<td>{{ ec.disc }}</td>
96102
{% if ec.fact_disc %}
97103
<td>=</td>
@@ -102,6 +108,8 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
102108
<tr><td colspan=4 style="padding:0;">{{ place_code('disc') }}</td></tr>
103109
<tr>
104110
<td>{{KNOWL('ec.discriminant', title='Discriminant norm')}}:</td>
111+
<td>$N(\Delta)$</td>
112+
<td>=</td>
105113
<td>{{ ec.disc_norm }}</td>
106114
<td>=</td>
107115
<td>{{ ec.fact_disc_norm }}</td>
@@ -111,6 +119,8 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
111119
{% if not ec.is_minimal %}
112120
<tr>
113121
<td>{{KNOWL('ec.minimal_discriminant', title='Minimal discriminant')}}:</td>
122+
<td>$\frak{D}_{\mathrm{min}}$</td>
123+
<td>=</td>
114124
<td>{{ ec.mindisc }}</td>
115125
{% if ec.fact_mindisc %}
116126
<td>=</td>
@@ -120,6 +130,8 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
120130

121131
<tr>
122132
<td>{{KNOWL('ec.minimal_discriminant', title='Minimal discriminant norm')}}:</td>
133+
<td>$N(\frak{D}_{\mathrm{min}})$</td>
134+
<td>=</td>
123135
<td>{{ ec.mindisc_norm }}</td>
124136
<td>=</td>
125137
<td>{{ ec.fact_mindisc_norm }}</td>
@@ -128,6 +140,8 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
128140

129141
<tr>
130142
<td>{{ KNOWL('ec.j_invariant','j-invariant')}}:</td>
143+
<td>$j$</td>
144+
<td>=</td>
131145
{% if ec.fact_j %}
132146
<td>{{ ec.j }}</td>
133147
<td>=</td>
@@ -140,25 +154,35 @@ <h2>{{ KNOWL('ec.invariants', title='Invariants')}}</h2>
140154

141155
<tr>
142156
<td>{{ KNOWL('ec.endomorphism_ring', title='Endomorphism ring') }}:</td>
143-
<td>{% if ec.rational_cm %} {{ ec.End }} {% else %} \(\Z\) {% endif %}</td>
144-
<td colspan="2">{% if ec.rational_cm %} ({{ KNOWL('ec.complex_multiplication', title='complex multiplication')}}) {% endif %}</td>
157+
<td>$\mathrm{End}(E)$</td>
158+
<td>=</td>
159+
<td colspan="3">
160+
{% if ec.rational_cm %} {{ ec.End }} {% else %} \(\Z\) {% endif %}
161+
&nbsp;&nbsp;
162+
{% if ec.rational_cm %} ({{ KNOWL('ec.complex_multiplication', title='complex multiplication')}}) {% endif %}
163+
</td>
145164
</tr>
146165

147166
<tr>
148167
<td>{{ KNOWL('ec.geom_endomorphism_ring', title='Geometric endomorphism ring') }}:</td>
149-
<td>{{ ec.End }}</td>
150-
<td colspan="2">
151-
{%if not ec.cm %}
168+
<td>$\mathrm{End}(E_{\overline{\Q}})$</td>
169+
<td>=</td>
170+
<td colspan="3">
171+
{{ ec.End }}
172+
&nbsp;&nbsp;
173+
{%if not ec.cm %}
152174
(no {{ KNOWL('ec.complex_multiplication', title='potential complex multiplication')}})
153-
{% elif not ec.rational_cm %}
175+
{% elif not ec.rational_cm %}
154176
({{ KNOWL('ec.complex_multiplication', title='potential complex multiplication')}})
155-
{% endif %}
177+
{% endif %}
156178
</td>
157179
</tr>
158180

159181
<tr><td colspan=4 style="padding:0;">{{ place_code('cm') }}</td></tr>
160182
<tr>
161183
<td>{{ KNOWL('st_group.definition', title='Sato-Tate group') }}:</td>
184+
<td>$\mathrm{ST}(E)$</td>
185+
<td>=</td>
162186
<td>{{ ec.ST|safe }}</td>
163187
</td>
164188
</tr>
@@ -175,9 +199,13 @@ <h2> {{ KNOWL('ec.mordell_weil_group', title="Mordell-Weil group") }} </h2>
175199
{% if ec.rank_bounds != "not available" %}
176200
<td>\({{ ec.rk_lb }} \le r \le {{ec.rk_ub}}\)</td>
177201
{% else %}
202+
<td>$r$</td>
203+
<td>&nbsp;</td>
178204
<td>not available</td>
179205
{% endif %}
180206
{% else %}
207+
<td>$r$</td>
208+
<td>=</td>
181209
<td>\({{ ec.rank }}\)</td>
182210
{% endif %}
183211
</tr>
@@ -186,14 +214,15 @@ <h2> {{ KNOWL('ec.mordell_weil_group', title="Mordell-Weil group") }} </h2>
186214
<tr>
187215
<td align = 'left'>
188216
{% if ec.ngens==1 %}
189-
{{KNOWL('ec.mw_generators','Generator')}}
217+
{{KNOWL('ec.mw_generators','Non-torsion generator')}}:
190218
{% else %}
191-
{{KNOWL('ec.mw_generators','Generators')}}
219+
{{KNOWL('ec.mw_generators','Non-torsion generators')}}:
192220
{% endif %}
193221
</td>
194222
{% if ec.gens == 'not available' %}
195223
<td>not available</td>
196224
{% else %}
225+
<td>$P$</td><td>=</td>
197226
{% for gen in ec.gens %}
198227
<td>{{ gen }}</td>
199228
{% endfor %}
@@ -205,11 +234,12 @@ <h2> {{ KNOWL('ec.mordell_weil_group', title="Mordell-Weil group") }} </h2>
205234
<tr>
206235
<td align = 'left'>
207236
{% if ec.ngens==1 %}
208-
{{ KNOWL('ec.canonical_height', title="Height") }}
237+
{{ KNOWL('ec.canonical_height', title="Height") }}:
209238
{% else %}
210-
{{ KNOWL('ec.canonical_height', title="Heights") }}
239+
{{ KNOWL('ec.canonical_height', title="Heights") }}:
211240
{% endif %}
212241
</td>
242+
<td>$\hat{h}(P)$</td><td>&approx;</td>
213243
{% for h in ec.heights %}
214244
<td>\({{ h }}\)</td>
215245
{% endfor %}
@@ -218,13 +248,17 @@ <h2> {{ KNOWL('ec.mordell_weil_group', title="Mordell-Weil group") }} </h2>
218248

219249
<tr>
220250
<td align='left'>{{KNOWL('ec.torsion_subgroup','Torsion structure')}}:</td>
251+
<td>$E(K)_{\mathrm{tor}}$</td>
252+
<td>$\cong$</td>
221253
<td>{{ ec.tor_struct_pretty }}</td>
222254
</tr>
223255
<tr><td colspan=2> {{ place_code('tors') }}</td></tr>
224256
<!-- <tr><td colspan=2> {{ place_code('ntors') }}</td></tr> -->
225257
{% if ec.tr %}
226258
<tr>
227-
<td align='left'>{% if ec.tr==1 %}{{KNOWL('ec.mw_generators','Torsion generator')}}{% else %}{{KNOWL('ec.mw_generators','Torsion generators')}}{% endif %}:</td>
259+
<td align='left'>{% if ec.tr==1 %}{{KNOWL('ec.mw_generators','Torsion generator')}}{% else %}{{KNOWL('ec.mw_generators','Torsion generators')}}{% endif %}:</td>
260+
<td>$T$</td>
261+
<td>=</td>
228262
{% for gen in ec.torsion_gens %}
229263
<td>{{ gen }}</td>
230264
{% endfor %}
@@ -242,6 +276,7 @@ <h2> {{ KNOWL('ec.bsdconjecture', title='BSD invariants') }}</h2>
242276

243277
<tr>
244278
<td align='left'>{{ KNOWL('lfunction.analytic_rank', title='Analytic rank') }}:</td>
279+
<td>$r_{\mathrm{an}}$</td><td>=</td>
245280
<td>
246281
{{ ec.ar }}
247282
</td>
@@ -256,12 +291,16 @@ <h2> {{ KNOWL('ec.bsdconjecture', title='BSD invariants') }}</h2>
256291
<tr>
257292
<td align='left'>{{ KNOWL('ec.rank', title="Mordell-Weil rank")}}:</td>
258293
{% if ec.rk == "not available" %}
294+
<td>$r$?</td>
295+
<td>&nbsp;</td>
259296
{% if ec.rank_bounds != "not available" %}
260297
<td>\({{ ec.rk_lb }} \le r \le {{ec.rk_ub}}\)</td>
261298
{% else %}
262299
<td>not available</td>
263300
{% endif %}
264301
{% else %}
302+
<td>$r$</td>
303+
<td>=</td>
265304
<td>\({{ ec.rank }}\)</td>
266305
{% endif %}
267306
</tr>
@@ -273,6 +312,8 @@ <h2> {{ KNOWL('ec.bsdconjecture', title='BSD invariants') }}</h2>
273312
{{ KNOWL('ec.regulator', title='Regulator') }}:
274313
{% endif %}
275314
</td>
315+
<td>$\mathrm{Reg}(E/K)$</td>
316+
<td>{% if ec.rk == 0 %}={% else %}&approx;{% endif %}</td>
276317
<td>
277318
{% if ec.reg=='not available' %}
278319
not available
@@ -284,11 +325,13 @@ <h2> {{ KNOWL('ec.bsdconjecture', title='BSD invariants') }}</h2>
284325

285326
<tr>
286327
<td align='left'>{{ KNOWL('ec.period', title='Period') }}:</td>
328+
<td>$\Omega(E/K)$</td><td>&approx;</td>
287329
<td> {{ ec.omega }}</td>
288330
</tr>
289331

290332
<tr>
291333
<td align='left'>{{ KNOWL('ec.tamagawa_number', title='Tamagawa product') }}:</td>
334+
<td>$\prod_{\frak{p}}c_{\frak{p}}$</td><td>=</td>
292335
<td> {{ ec.tamagawa_product }}
293336
{% if ec.tamagawa_factors %}
294337
&nbsp;=&nbsp; \({{ ec.tamagawa_factors }}\)
@@ -298,18 +341,18 @@ <h2> {{ KNOWL('ec.bsdconjecture', title='BSD invariants') }}</h2>
298341

299342
<tr>
300343
<td align='left'>{{ KNOWL('ec.torsion_order', title='Torsion order') }}:</td>
344+
<td>$E(K)_{\mathrm{tors}}$</td><td>=</td>
301345
<td>\({{ ec.torsion_order }}\)</td>
302346
</tr>
303347

304348
<tr>
305349
<td align='left'>{{ KNOWL('lfunction.leading_coeff', title='Leading coefficient') }}:</td>
306-
<td>
307-
{% if ec.Lvalue=='not available' %}
308-
not available
309-
{% else %}
310-
{{ ec.Lvalue }}
311-
{% endif %}
312-
</td>
350+
<td>$L^{(r)}(E/K,1)/r!$</td>
351+
{% if ec.Lvalue=='not available' %}
352+
<td></td><td>not available</td>
353+
{% else %}
354+
<td>&approx;</td><td>{{ ec.Lvalue }}</td>
355+
{% endif %}
313356
</tr>
314357

315358
<tr>
@@ -320,7 +363,8 @@ <h2> {{ KNOWL('ec.bsdconjecture', title='BSD invariants') }}</h2>
320363
{{ KNOWL('ec.analytic_sha_order', title='Analytic order of &#1064;') }}:
321364
{% endif %}
322365
</td>
323-
<td> {{ ec.sha }} </td>
366+
<td>&#1064;${}_{\mathrm{an}}$</td><td>=</td>
367+
<td> {{ ec.sha }} </td>
324368
</tr>
325369
</table>
326370
</p>

lmfdb/elliptic_curves/templates/congruent_number_data.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ <h2>Data files</h2>
119119
</form>
120120
</td>
121121
<td>
122-
{{ KNOWL('ec.q.canonical_height', 'Heights') }}
122+
{{ KNOWL('ec.canonical_height', 'Heights') }}
123123
</td>
124124
<td>
125125
<pre>000137 [8.4621365965410101565417149184287484305,10.575571190572966907642306531966335545]</pre>

lmfdb/elliptic_curves/templates/ec-curve.html

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,9 +104,9 @@ <h2> {{ KNOWL('ec.mordell_weil_group', title='Mordell-Weil group') }} structure<
104104

105105
{% if data.mwbsd.rank!=0 %}
106106
{% if data.mwbsd.rank==1 %}
107-
<h3> Infinite order Mordell-Weil generator and {{KNOWL('ec.q.canonical_height','height')}}</h3>
107+
<h3> {{ KNOWL('ec.mw_generators', title='Non-torsion Mordell-Weil generator') }} and {{KNOWL('ec.canonical_height','height')}}</h3>
108108
{% else %}
109-
<h3> Infinite order Mordell-Weil generators and {{KNOWL('ec.q.canonical_height','heights')}}</h3>
109+
<h3> {{ KNOWL('ec.mw_generators', title='Non-torsion Mordell-Weil generators') }} and {{KNOWL('ec.canonical_height','heights')}}</h3>
110110
{% endif %}
111111
{% if data.mwbsd.ngens==0 %}
112112
No {% if data.mwbsd.rank==1 %} generator {% else %} generators {% endif %} computed
@@ -130,7 +130,7 @@ <h3> Infinite order Mordell-Weil generators and {{KNOWL('ec.q.canonical_height',
130130
{%endif%}
131131

132132
{% if data.mwbsd.torsion!=1 %}
133-
<h2> {{ KNOWL('ec.torsion_subgroup', title='Torsion generators') }}</h2>
133+
<h2> {{ KNOWL('ec.mw_generators', title='Torsion generators') }}</h2>
134134
<p> {{ data.mwbsd.tor_gens |safe }} </p>
135135
{{ place_code('tors') }}
136136
{%endif %}
@@ -183,13 +183,15 @@ <h2> Invariants </h2>
183183

184184
<tr>
185185
<td>{{ KNOWL('ec.geom_endomorphism_ring', title='Geometric endomorphism ring') }}:</td>
186-
<td>$\mathrm{End}(E_{\overline{\Q}})$</td><td>&nbsp;=&nbsp;</td>
186+
<td>$\mathrm{End}(E_{\overline{\Q}})$</td>
187+
<td>&nbsp;=&nbsp;</td>
187188
<td colspan=3>{{ data.data.EndE }}
188-
{%if not data.data.CMD %}
189-
&nbsp;&nbsp;(no {{ KNOWL('ec.complex_multiplication', title='potential complex multiplication')}})
190-
{% else %}
191-
&nbsp;&nbsp;({{ KNOWL('ec.complex_multiplication', title='potential complex multiplication')}})
192-
{% endif %}
189+
&nbsp;&nbsp;
190+
{%if not data.data.CMD %}
191+
(no {{ KNOWL('ec.complex_multiplication', title='potential complex multiplication')}})
192+
{% else %}
193+
({{ KNOWL('ec.complex_multiplication', title='potential complex multiplication')}})
194+
{% endif %}
193195
</td>
194196
<td>{{ place_code('cm') }}</td>
195197
</tr>

0 commit comments

Comments
 (0)