Attributes

BaseField(M) : ModFrmBianchi -> FldNum
BaseRing(M) : ModFrmBianchi -> FldNum
CoefficientField(M) : ModFrmBianchi -> FldNum
CoefficientRing(M) : ModFrmBianchi -> FldNum
The field on which the space M of Bianchi modular forms was defined.
Level(M) : ModFrmBianchi -> RngOrdIdl
The level of the space M.
Dimension(M) : ModFrmBianchi -> RngIntElt
The dimension of the space M. Dimension formulas are not available, so the dimension is computed by explicit construction of the space.
VoronoiData(M) : ModFrmBianchi -> Rec
This returns a record containing technical data that is computed in the precomputation phase of the algorithm. This depends only on the base field of M, and the data can be reused when computing spaces of different levels over the same field.

Example ModFrmBianchi_creation-example (H147E1)

We create spaces of modular forms over Q(Sqrt( - 14)) for various levels.
> _<x> := PolynomialRing(Rationals());
> F := NumberField(x^2 + 14);
> OF := Integers(F);
> level := 1*OF;
> M := BianchiCuspForms(F, level);
> M;
Cuspidal space of Bianchi modular forms over
    Number Field with defining polynomial x^2 + 14 over the Rational Field
    Level = Ideal of norm 1 generated by ( [1, 0] )
    Weight = 2
>  time Dimension(M);
0
Time: 0.050

We now define a space with level equal to the square of one of the split primes dividing 3.

> level := (Factorization(3*OF)[1][1])^2;
> Norm(level);
9
> time M9 := BianchiCuspForms(F, level);
Time: 1.370
> time Dimension(M9);
1
Time: 0.370
When defining this space, we may tell Magma to use the same Voronoi data, to avoid repeating this expensive precomputation:
> time M9 := BianchiCuspForms(F, level : VorData := VoronoiData(M) );
Time: 0.000
> time Dimension(M9);
1
Time: 0.370
> M9;
Cuspidal space of Bianchi modular forms over
    Number Field with defining polynomial z^2 + 14 over the Rational Field
    Level = Ideal of norm 9 generated by ( [9, 0], [5, 2] )
    Weight = 2
    Dimension 1
V2.28, 13 July 2023