We introduce generalized Bernoulli numbers attached to Dirichlet characters and give an algorithm to enumerate the Eisenstein series in .

Let be the space of modular forms of weight
for , and let be the *Hecke algebra*
acting on , which is the subring of
generated by all Hecke operators.
Then there is a -module decomposition

where is the subspace of modular forms that vanish
at all cusps and is the
*Eisenstein subspace*, which
is uniquely determined by this decomposition.
The above decomposition
induces a decomposition of and of
, for any Dirichlet character of modulus .

Suppose is a Dirichlet character of modulus over .
Leopoldt [**Leo58**] defined generalized Bernoulli
numbers attached to .

Definition 5.1

We define the *generalized Bernoulli numbers*
attached to by the following
identity of infinite series:

If is the trivial character of modulus and
are as in Section *Examples of Modular Forms of Level 1*, then
, except when , in which case
(see *Exercise 5.2*).

Let denote the field generated by the image of the character ; thus is the cyclotomic extension , where is the order of .

Algorithm 5.2

Given an integer and any Dirichlet character with modulus , this algorithm computes the generalized Bernoulli numbers , for .

Compute to precision by computing to precision and computing the inverse , then multiplying by .

For each , compute , to precision . This requires computing to precision . (Omit computation of if since then .)

Then for , we have

where is the coefficient of in .

Note that in steps *(1)* and *(2)* we compute the
power series doing arithmetic only in , not in
, which could be much less efficient if has
large order. In step *(1)* if is huge,
we could compute the inverse using
asymptotically fast arithmetic and
Newton iteration.

Example 5.3

The nontrivial character with modulus has order and takes values in . The Bernoulli numbers for even are all and for odd they are

Example 5.4

The generalized Bernoulli numbers need not be in . Suppose is the mod character such that . Then for even and

Example 5.5

We use Sage to compute some of the above generalized Bernoulli numbers.
First we define the character and verify that (note that
in Sage `zeta4` is ).

```
sage: G = DirichletGroup(5)
sage: e = G.0
sage: e(2)
zeta4
```

We compute the Bernoulli number .

```
sage: e.bernoulli(1)
-1/5*zeta4 - 3/5
```

We compute .

```
sage: e.bernoulli(9)
-108846/5*zeta4 - 176868/5
```

Proposition 5.6

If and , then .

Proof

See *Exercise 5.3*.

This section, which was written jointly with Kevin McGown,
is about a way to compute generalized
Bernoulli numbers, which is similar to the algorithm
in Section *Fast Computation of Bernoulli Numbers*.

Let be a primitive Dirichlet character modulo its conductor . Note from the definition of Bernoulli numbers that if , then

(1)

For any character , we define the Gauss sum as

where is the principal root of unity. The Dirichlet -function for for is

In the right half plane this function is analytic, and because is multiplicative, we have the Euler product representation

(2)

We note (but will not use) that through analytic continuation can be extended to a meromorphic function on the entire complex plane.

If is a nonprincipal primitive Dirichlet character of
conductor such that , then (see, e.g.,
[**Wan82**])

Solving for the Bernoulli number yields

This allows us to give decimal approximations for . It remains to compute exactly (i.e., as an algebraic integer). To simplify the above expression, we define

and write

(3)

Note that we can compute exactly in the field .

The following result identifies the denominator of .

Theorem 5.7

Let and be as above, and define an integer as follows:

Then is integral.

To compute the algebraic integer , and we compute
to very high precision using the Euler product
(2) and the formula (3). We carry out the
same computation for each of the conjugates of
, which by (1) yields the conjugates of
. We can then write down the characteristic
polynomial of to very high precision and
recognize the coefficients as rational integers. Finally, we determine
which of the roots of the characteristic polynomial is by approximating them all numerically to high precision
and seeing which is closest to our numerical approximation to
. The details are similar
to what is explained in Section *Fast Computation of Bernoulli Numbers*.

Suppose and are primitive Dirichlet characters with conductors and , respectively. Let

(4)

where

Note that when and , then ,
where is from Chapter *Modular Forms*.

Miyake proves statements that imply the following in
[**Miy89**, Ch. 7].

Theorem 5.8

Suppose is a positive integer and , are as above and that is a positive integer such that . Except when and , the power series defines an element of . If , , , and , then is a modular form in .

Theorem 5.9

The Eisenstein series in coming from
*Theorem 5.8* with and
form a basis for the
Eisenstein subspace .

Theorem 5.10

The Eisenstein series defined above are eigenforms (i.e., eigenvectors for all Hecke operators ). Also , for , is an eigenform.

Since is normalized so the coefficient of is , the eigenvalue of is the coefficient

of (see *Proposition 9.10*).
Also for with prime, the coefficient of
is , for , and .

Algorithm 5.11

Given a weight and a Dirichlet character of modulus , this algorithm computes a basis for the Eisenstein subspace of to precision .

1. [Weight Trivial Character?] If and , output the Eisenstein series , for each divisor with , and then terminate.

- [Empty Space?] If , output the empty list.
- [Compute Dirichlet Group] Let be the group of Dirichlet characters with values in , where is the exponent of .
- [Compute Conductors] Compute the
conductor of every element of using
*Algorithm 4.19*. - [List Characters ] Form a list of all Dirichlet characters such that divides .
- [Compute Eisenstein Series] For each character in ,
let and compute
for each divisor of
. Here we compute
using (4) and
*Algorithm 5.2*.

Remark 5.12

*Algorithm 5.11* is what is currently used in Sage.
It might be better to first reduce to the prime power case by writing
all characters as a product of local characters and combine
steps *(4)* and *(5)* into a single
step that involves orders. However, this might make things more
obscure.

Example 5.13

The following is a basis of Eisenstein series for .

We computed it as follows:

```
sage: E = EisensteinForms(Gamma1(13),2)
sage: E.eisenstein_series()
```

We can also compute the parameters that define each series:

```
sage: e = E.eisenstein_series()
sage: for e in E.eisenstein_series():
... print e.parameters()
...
([1], [1], 13)
([1], [zeta6], 1)
([zeta6], [1], 1)
([1], [zeta6 - 1], 1)
([zeta6 - 1], [1], 1)
([1], [-1], 1)
([-1], [1], 1)
([1], [-zeta6], 1)
([-zeta6], [1], 1)
([1], [-zeta6 + 1], 1)
([-zeta6 + 1], [1], 1)
```

Exercise 5.1

Suppose and are diagonalizable linear transformations of a finite-dimensional vector space over an algebraically closed field and that . Prove there is a basis for so that the matrices of and with respect to that basis are both simultaneously diagonal.

Exercise 5.2

If is the trivial character of modulus and are as
in Section *Examples of Modular Forms of Level 1*, then ,
except when , in which case .

Exercise 5.3

Prove that for if , then .

Exercise 5.4

Show that the dimension of the Eisenstein subspace is by finding a basis of series . You do not have to write down the -expansions of the series, but you do have to figure out which to use.