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 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: Level and Weight of a Hilbert Space (ex-0a8a2f)

Run in calculator (opens in a new tab)

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.

Run in calculator (opens in a new tab)