Skip to main content Skip to navigation

Non-paritious Hilbert modular forms

This is a page for the Magma scripts accompanying my paper with Lassina Dembélé and Ariel Pacetti, "Non-paritious Hilbert modular forms" (Arxiv preprint).

Code

Code for $\mathbb{Q}(\sqrt{2})$: non_paritious_hmf_sqrt2.m

Code for $\mathbb{Q}(\sqrt{5})$: non_paritious_hmf_sqrt5.m

Usage example

This code computes the first few Hecke operators on a 2-dimensional space of Hilbert modular forms of weight (4, 3) over $\mathbb{Q}(\sqrt{2})$, and verifies that they commute with each other:

Attach("non_paritious_hmf_sqrt2.m");
F<b> := QuadraticField(2);
O<w> := Integers(F);
PolsO<t> := PolynomialRing(O);
I := Factorisation(7*O)[1][1];
G := DirichletGroup(I);
eps := G.1^3;
Order(eps);
M := HilbertModularForms(I, [4,3], eps);
Dimension(M); Ps := [ p : p in PrimesUpTo(50) | p notin [2,7] ];
time T := [ HeckeOperators(M,p) : p in Ps ];
T1 := &cat T;
[ {* t1*t2 eq t2*t1 : t1, t2 in T1 *} ];
_, toK := IsSubfield(F, BaseRing(T1[1]));
K<z> := RelativeField(F, BaseRing(T1[1]));
[ Factorisation(PolsO!CharacteristicPolynomial(s)) : s in T1 ];