Basic Properties

BaseField(M) : ModFrmHil ->
BaseRing(M) : ModFrmHil ->
CoefficientField(M) : ModFrmHil ->
CoefficientRing(M) : ModFrmHil ->
The field on which the space M was defined.
Weight(M) : ModFrmHil -> SeqEnum[RngIntElt]
The weight of the space M.
CentralCharacter(M) : ModFrmHil -> RngIntElt
The central character of the weight representation defining the space M of Hilbert modular forms. This is of significance only for higher weight spaces (not parallel weight 2).
Level(M) : ModFrmHil -> RngOrdIdl
The level of the space M.
DirichletCharacter(M) : ModFrmHil -> GrpDrchNFElt
The nebentypus of the space M of Hilbert modular forms.
IsCuspidal(M) : ModFrmHil -> BoolElt
This is true if the space M was created as (a subspace of) a space of cusp forms. In the current implementation this is always true.
IsNew(M) : ModFrmHil -> BoolElt
This is true if the space M was created as (a subspace of) a new space, for instance using NewSubspace or NewformDecomposition, or if the space is known to satisfy NewLevel(M) = Level(M).
NewLevel(M) : ModFrmHil -> RngOrdIdl
This returns the level at which M is known to be new. (See NewSubspace.)
Dimension(M) : ModFrmHil -> RngIntElt
    UseFormula: BoolElt                 Default: true
This computes the dimension of the space M of Hilbert modular forms.

The dimension is determined either by using "dimension formulae" or else by explicitly constructing the space. By default, formulae are used when available and when considered cheap to evaluate. The optional argument UseFormula can be set true or false to override the default.

Dimension formulae are implemented for spaces of parallel weight 2. These formulae are sums over certain cyclotomic extensions of the base field of F.

The results by formula are guaranteed only under GRH, since they may involve class numbers that are calculated conditionally. If at some later point, the space is explicitly computed, the dimension is will then be verified unconditionally.

QuaternionOrder(M) : ModFrmHil -> AlgAssVOrd
This returns the quaternion order that is used internally to compute the space M of Hilbert modular forms.
IsDefinite(M) : ModFrmHil -> BoolElt
This indicates which of the two algorithms is used to compute the space M of Hilbert modular forms. It is equivalent to IsDefinite(Algebra(QuaternionOrder(M))). Note that calling this causes a QuaternionOrder for M to be chosen (if it has not been set already).

Example ModFrmHil_basic-example (H146E2)

We continue with the first example above.
> _<x> := PolynomialRing(Rationals());
> F := NumberField(x^2-85);
> OF := Integers(F);
> H := HilbertCuspForms(F, 1*OF);
> Norm(Level(H));
1
> Weight(H);
[ 2, 2 ]
> time Dimension(H);
6
Time: 2.580
> IsDefinite(H);
true
This indicates that Algorithm I (described in the introduction) was used to compute the dimension.
> level := Factorization(3*OF)[1][1];
> H3 :=  HilbertCuspForms(F, level);
> Level(H3);
Prime Ideal of OF
Two element generators:
    [3, 0]
    [2, 2]
> time Dimension(H3);
14
Time: 2.370
> H3 :=  HilbertCuspForms(F, level : QuaternionOrder:=QuaternionOrder(H) );
> time Dimension(H3);
14
Time: 0.270
It is much faster when we recycle the same quaternion order used for the space of level 1. This is because the harder computations involved depend only on the quaternion order, not on the level.
V2.28, 13 July 2023