# Properties

## `AmbientSpace(M): ModFrm -> ModFrm`

The full space of modular forms, in which the given space had been created as a subspace.

## `BaseRing(M): ModFrm -> Rng`

## `CoefficientRing(M): ModFrm -> Rng`

The ring over which the given space of modular forms was defined.

## `Degree(f): ModFrmElt -> RngIntElt`

The number of Galois-conjugates of the modular form $f$ over the prime subfield of (the fraction field of) the base ring of $f$.

## `Dimension(M): ModFrm -> RngIntElt`

The dimension of the space $M$ of modular forms or half-integral weight forms.

For spaces defined using the `ModularForms` constructors, the procedure used to obtain the dimension is to count the relevant Eisenstein series, and apply a formula giving the dimension of the relevant space of cusp forms.

## `DimensionByFormula(M): ModFrm -> RngIntElt`

The dimension of the given space of modular forms or half-integral weight forms (which must be either a full space or the cuspidal subspace of a full space), as given by the formulas in the paper by Cohen and Oesterle (in ‘Modular Forms in One Variable, VI’, Lecture Notes in Math. 627).

## `DimensionByFormula(N, k): RngIntElt, FldRatElt -> RngIntElt`

## `DimensionByFormula(chi, k): GrpDrchElt, FldRatElt -> RngIntElt`

## `DimensionByFormula(N, chi, k): RngIntElt, GrpDrchElt, FldRatElt -> RngIntElt`

```magma
Cuspidal: BoolElt                    Default: false
```

The dimension of the full space of the modular forms or half-integral weight forms with level $N$, character chi (taken to be trivial if not specified) and weight $k$, as given by the formulas in the paper by Cohen and Oesterle (in ‘Modular Forms in One Variable, VI’, Lecture Notes in Math. 627).

If `Cuspidal` is set to `true`, then the dimension of the space of cusp forms is returned.

## `DirichletCharacters(M): ModFrm -> [GrpDrchElt]`

A sequence containing exactly one representative from each Galois-conjugacy class of Dirichlet characters associated to the space of modular forms $M$.

## `DirichletCharacter(f): ModFrmElt -> GrpDrchElt`

Suppose $f$ is a newform, created using the `Newform` command. This returns a Dirichlet character that is, up to Galois conjugacy, the Nebentypus character of f.

## `Eltseq(f): ModFrmElt -> SeqEnum`

The sequence $[a_1,\ldots,a_n]$ such that $f = a_1 g_1 + \cdots + a_n g_n$, where $g_1, \ldots, g_n$ is the basis of the parent of the modular form $f$.

## `Level(f): ModFrmElt -> RngIntElt`

The level of the modular form $f$.

## `Level(M): ModFrm -> RngIntElt`

The level of the space of modular forms $M$.

## `Weight(f): ModFrmElt -> RngIntElt`

The weight of the modular form $f$, if it is defined.

## `Weight(M): ModFrm -> RngIntElt`

The weight of the space $M$ of modular forms.

## `WeightOneHalfData(H): ModFrm -> List`

A list of tuples describing a basis of the given space of forms of weight 1/2. Each tuple is a pair $<f, t>$, where $t$ is an integer and $f$ is a Dirichlet character. The tuple $<f, t>$ designates the sum over all integers $n$ of $f(n) q^{(tn^2)}$.

## `Example: Properties (ex-296bdb)`

We illustrate each of the above properties with some simple computations in $M_3(\Gamma_1(11))$.

```magma
> M := ModularForms(Gamma1(11),3);
> Degree(M.1);
1
> f := Newform(M,1);
> Degree(f);
4
> Dimension(M);
15
> DirichletCharacters(M);
[
    1,
    $.1,
    $.1^2,
    $.1^5
]
> Level(f);
11
> Level(M);
11
> Weight(f);
3
> Weight(M);
3
> Weight(M.1);
3

```
