Skip to content

Eloitor/btquotients

Repository files navigation

Fundamental domains for quaternionic S-arithmetic groups

Tested with SageMath version 10.7

Install in a virtual environment

sage --python -m venv --system-site-packages .venv
.venv/bin/pip install --upgrade pip
.venv/bin/pip install --no-build-isolation .

Activate virtual environment

. .venv/bin/activate

Example usage

from sage.all import PolynomialRing, QQ, NumberField

from sage.interfaces.magma_free import magma_free
from btquotients.btquotients import BTQuotient

R = PolynomialRing(QQ, names='x'); x = R.gen()
F = NumberField(x**2  - 97 , names='a'); a = F.gen()

P = F.primes_above(3)[0]
Nminus = Nplus = F.ideal(1)
X = BTQuotient(P, Nminus, Nplus, magma=magma_free)
X.compute_fundamental_domain()

X.plot_fundamental_domain().save("example_fundamental_domain.png")
X.plot().save("example_quotient.png")

Fundamental domain, `X.plot_fundamental_domain()` output Quotient, `X.plot()` output

Run the benchmark

X.benchmark_are_equivalent(as_edges=False)

Table of p-adic uniformizations of Shimura curves

pip install tqdm

First we ennumerate all candidates for Shimura curves up to a given genus. You will be prompted to enter a degree and a genus bound. A table will be written in table_uniformizations_shimura_curves/data/ in the jsonl format.

cd table_uniformizations_shimura_curves
python table_up_to_genus.py

Next we compute the fundamental domains for each row:

python compute_table_up_to_genus.py degree max_genus

The results obtained for genus up to 3 is listed in the following table

https://eloitor.github.io/btquotients/

Releases

No releases published

Packages

No packages published