This repository contains code for computing Gross-Stark units and Stark-Heegner points using the diagonal restriction derivative from DPV2, as described in D-J23.
- Some version of magma
- Simply clone (or copy) the repository into your favourite folder.
-
To load the code, move to the directory containing
main.m
, run magma, and thenAttachSpec("spec");
This imports the main function
GSUnit
, which takes as input an indefinite quadratic form$F$ with discriminant$D$ , a prime$p$ inert in$\mathbb{Q}(\sqrt{D})$ and an integer parameter$m$ , the number of terms computed of the modular form whose constant term contains the Gross-Stark unit.TODO: decide this parameter automatically and only ask for pprec.
One can then compute the Gross-Stark attached to a quadratic form
Q := QuadraticForms(33)!<-2,3,3>;
p := 5;
GSUnit(Q,p,30);
Similarly, we can find Stark-Heegner points:
Q := QuadraticForms(24)!<-2,4,1>;
p := 11;
SHPoints(Q,p,30);
- The file
examples.m
contains functions for tabulating Gross-Stark units, and data for primes less than$20$ and discriminants less than$10000$ can be found in the directory called data.
This project is licensed under the GPL License - see the LICENSE.md file for details
This is based on code by Jan Vonk and Alan Lauder, as well as their papers (with and without collaborators).