The field on which the space M of Bianchi modular forms was defined.
The level of the space M.
The dimension of the space M. Dimension formulas are not available, so the dimension is computed by explicit construction of the space.
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.
> _<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: 4.980
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: 7.300 > 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 = 2If we wish, we may tell Magma to use the same Voronoi data (to avoid repeating the time-consuming precomputation):
> time M9 := BianchiCuspForms(F, level : VorData := VoronoiData(M) ); Time: 0.100 > 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 > Level(M9); Ideal Two element generators: [9, 0] [5, 2] > time Dimension(M9); 1 Time: 24.540