This is the Magma code for the algorithms and the examples in "Complete verification of strong BSD for many absolutely simple modular abelian surfaces over Q" by Timo Keller and Michael Stoll.
.m files contain intrinsics and should be Attach'ed. .magma files should be load'ed.
- Raymond van Bommel's code (slightly modified) for the real period and Tamagawa numbers (see the ancillary files at https://arxiv.org/abs/2002.04667):
- RealPeriod.m (written by Raymond van Bommel): computation of the real period of hyperelliptic Jacobians
- Tamagawa_pkg2.m (written by Raymond van Bommel): computation of Tamagawa numbers
- database_extract.magma: produce LaTeX code to print the table with information about the Galois representations
- database_y_K_JK.magma: output of LMFDBexamples.m for the database
- database.magma: data about our genus 2 curves relevant for BSD
- findDuplicates.magma: count the number of isomorphism (curve) and isogeny (Jacobian) classes of Hasegawa and Wang curves and LMFDB examples
- curves.magma: genus 2 curves with absolutely simple GL_2-type Jacobian from the LMFDB
- LMFDB-curves.magma: a variant of curves.magma
- Galreps.m: compute the images of the residual Galois representations of weight 2 newforms with real quadratic coefficients
- endomorphisms.m: compute endomorphism rings of genus 2 Jacobians and their action on points, in particular torsion points, compute Galois representations rho_frp for fixed frp, characters constituting it if reducible, etc.
- computeGalreps.magma: print information about the Galois representations for the Wang examples
- p-adic-Galois.magma: code for images of p-adic Galois representations
- printGalrepsTable.magma: code to produce a LaTeX table with information about the residual Galois representations
- characters.magma: code for producing the information on the characters involved in odd reducible residual Galois representations
- logs/characters.log: the result of running characters.magma
- irreducible_non_maximal.magma: code for determining the projective image of the odd irreducible, but not maximal Galois representations
- logs/irreducible_non_maximal.log: the result of running irreducible_non_maximal.magma
- jacmaps.m: compute the Abel--Jacobi map and its inverse also for projective hyperelliptic curves (only needed for older versions of Magma)
- HeegnerPoint.m: code to compute Heegner points and indices
- PeterssonNorm.m: code to compute the Petersson norm of newforms of weight 2
- MWgroup.m: saturate finite index subgroup of Mordell–Weil group, compute Mordell–Weil group over quadratic fields
- periods.m: adapted Magma code to compute periods of modular symbols to given precision
- outputHeegnerindices.magma: compute a few Heegner indices
- ShaAn.m: computation of #Sha(J/Q)_an
- ManinConstant.m: compute c_f * c_pi as in the section on the analytic order of Sha
- partially contained in the files for Section 1 and 8
- partially contained in the files for Section 1 and 8
- EvaluateModularSymbols.m: evaluate modular symbols of general weight 2 newforms with the canonical periods as in [Balakrishnan--Müller--Stein]
- directory pAdicLFunction/: code to compute p-adic L-functions of newforms of weight 2, trivial nebentypus and with real quadratic coefficient ring where p is ordinary for f
-
verifyBSD.magma: compute what is left to do to verify strong BSD
-
HasegawaWangCurves.magma: compute what is left to do to verify strong BSD for the Hasegawa and Wang curves
-
logs/HasegawaWangCurves.log: log file of he previous computation
-
LMFDBexamples.magma: compute what is left to do to verify strong BSD for the LMFDB examples
-
logs/LMFDBexamples.log: log file of he previous computation
-
logs/remains_to_be_done.txt: what remains to be done for the LMFDB examples after running LMFDBexamples.magma, also includes information on further examples
-
parallel.sh: This bash script will verify strong BSD for many absolutely simple modular abelian varieties of dimension 2 with level N <= 1000. Runs blocks of 100 examples in parallel.
- congruence.magma: (written by Sam Frengley) check claims in appendix A
- N3200.magma: code for I_K and #Sha(J/Q)_an of the N = 3200 example in the Appendix
- logs/3200.log: log file of the previous computation
- Sha7-curve.magma: verify c_2(J/Q) = 1 for Sam Frengley's curve in the Appendix
- torsionInSha.magma: compute what is left to do to verify strong BSD for twists J^K/Q in the examples with p = 3, 5, 7 dividing #Sha
- logs/torsionInSha.log: the result of running torsionInSha.magma
- TwoPartOfSha.magma: determine Sha(J/Q)[2^infty] (requires the code of https://github.com/TomAFisher/Cassels-Tate-pairing--Genus-2 to be in this folder)
- Sha.spec: spec file to attach the Magma files needed
- CrvHypConversion.m: convert between curves, modular symbols, and newforms
- parse_group.magma: functions for creating database_y_K_JK.magma