模形式与Hecke算子

同余子群

定义

同余子群是群的子群 \(\mathrm{SL}_2(\ZZ)\) 行列式的 \(\pm 1\) 包含以下内容的整数矩阵

\[\Gamma(N) = \mathrm{Ker}(\mathrm{SL}_2(\ZZ) \to \mathrm{SL}_2(\ZZ/N\ZZ))\]

对于某个正整数 \(N\) 。自.以来 \(\Gamma(N)\) 在中具有有限索引 \(\mathrm{SL}_2(\ZZ)\) ,所有同余子群都有有限指数。反之亦然,尽管在许多其他设置中是正确的(请参见 [paper of Serre] )。

The inverse image \(\Gamma_0(N)\) of the subgroup of upper triangular matrices in \(\mathrm{SL}_2(\ZZ/N\ZZ)\) is a congruence subgroup, as is the inverse image \(\Gamma_1(N)\) of the subgroup of matrices of the form \(\left(\begin{smallmatrix}1&*\\0&1\end{smallmatrix}\right)\). Also, for any subgroup \(H\subset (\ZZ/N\ZZ)^*\), the inverse image \(\Gamma_H(N)\) of the subgroup of \(\mathrm{SL}_2(\ZZ/N\ZZ)\) of all elements of the form \(\left(\begin{smallmatrix}a&*\\0&d\end{smallmatrix}\right)\) with \(d \in H\) is a congruence subgroup.

我们可以使用Gamma0、Gamma1和GammaH命令在Sage中创建上述每个同余子组。

sage: Gamma0(8)
Congruence Subgroup Gamma0(8)
sage: Gamma1(13)
Congruence Subgroup Gamma1(13)
sage: GammaH(11,[3])
Congruence Subgroup Gamma_H(11) with H generated by [3]

GammaH命令的第二个参数是子组的生成器列表 \(H\)\((\ZZ/N\ZZ)^*\)

发电机

SAGE可以计算这些子群的生成器列表。Sage使用的算法是一个简单的通用过程,它使用同余子组的陪集表示(易于枚举)来获得生成元列表 [[ref my modular forms book] ]。

不幸的是,Sage计算的生成器列表很大。改进这一点将是一个优秀的Sage开发项目,它将涉及许多美丽的数学。

更新(2012年3月):上文提到的项目已经实施(由几个人,特别是Hartmut Monien,在Chris Kurth早期工作的基础上进行)。Sage现在使用基于Farey符号的更高级的算法,该算法计算 minimal 一组发电机。

sage: Gamma0(2).gens()
(
[1 1]  [ 1 -1]
[0 1], [ 2 -1]
)
sage: Gamma0(2).gens(algorithm="todd-coxeter") # the old implementation
(
[1 1]  [-1  0]  [ 1 -1]  [ 1 -1]  [-1  1]
[0 1], [ 0 -1], [ 0  1], [ 2 -1], [-2  1]
)
sage: len(Gamma1(13).gens())
15

模数形式

定义

同余子群上的模形式 \(\Gamma\) 整数权重的 \(k\) 是全纯函数 \(f(z)\) 在上半平面上

\[\mathfrak{h}^* = \{z \in \CC : \Im(z) > 0\}\cup \QQ \cup\{i\infty\}\]

such that for every matrix \(\left(\begin{smallmatrix}a&b\\c&d\end{smallmatrix}\right)\in\Gamma\), we have

\[F\Left(\frac{az+b}{Cz+d}\Right)=(Cz+d)^{k}f(Z)。\]

A cusp form is a modular form that vanishes at all of the cusps \(\QQ \cup \{i\infty\}\).

If \(\Gamma\) contains \(\Gamma_1(N)\) for some \(N\), then \(\left(\begin{smallmatrix}1&1\\0&1\end{smallmatrix}\right)\in\Gamma\), so the modular form condition implies that \(f(z) = f(z+1)\). This, coupled with the holomorphicity condition, implies that \(f(z)\) has a Fourier expansion

\[F(Z)=\sum_{n=0}^{\infty}a_n e^{2\pi i n z}\]

with \(a_n\in\CC\). We let \(q = e^{2\pi i z}\), and call \(f = \sum_{n=0}^{\infty} a_n q^n\) the \(q\)-expansion of \(f\).

Sage中的创造

Henceforth we assume that \(\Gamma\) is either \(\Gamma_1(N)\), \(\Gamma_0(N)\), or \(\Gamma_H(N)\) for some \(H\) and \(N\). The complex vector space \(M_k(\Gamma)\) of all modular forms of weight \(k\) on \(\Gamma\) is a finite dimensional vector space.

我们创造了空间 \(M_k(\Gamma)\) 在Sage中输入 ModularForms(G, k) 哪里 \(G\) 是同余子群,且 \(k\) 就是重量。

sage: ModularForms(Gamma0(25), 4)
Modular Forms space of dimension 11 for ...
sage: S = CuspForms(Gamma0(25),4, prec=15); S
Cuspidal subspace of dimension 5 of Modular Forms space ...
sage: S.basis()
[
q + q^9 - 8*q^11 - 8*q^14 + O(q^15),
q^2 - q^7 - q^8 - 7*q^12 + 7*q^13 + O(q^15),
q^3 + q^7 - 2*q^8 - 6*q^12 - 5*q^13 + O(q^15),
q^4 - q^6 - 3*q^9 + 5*q^11 - 2*q^14 + O(q^15),
q^5 - 4*q^10 + O(q^15)
]

尺寸公式

Sage使用简单的算术公式计算所有这些空间的尺寸,而不是实际计算有问题的空间的基数。事实上,Sage拥有所有软件中最通用的模块形式尺寸公式集合;类型 help(sage.modular.dims) 查看用于实现这些维公式的算术函数列表。

sage: ModularForms(Gamma1(949284), 456).dimension()
11156973844800
sage: from sage.modular.dims import dimension_cusp_forms
sage: a = [dimension_cusp_forms(Gamma0(N),2) for N in [1..25]]; a
[0, 0, ..., 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 2, 2, 1, 0]
sage: oeis(a)                                       # optional - internet
0: A001617: Genus of modular group Gamma_0(n). Or, genus of modular curve X_0(n).

Sage没有简单的公式来计算模式权重空间的尺寸 \(1\) ,因为这样的公式可能并不存在。

菱形括号运算符

The space \(M_k(\Gamma_1(N))\) is equipped with an action of \((\ZZ/N\ZZ)^*\) by diamond bracket operators \(\langle d \rangle\), and this induces a decomposition

\[M_k(\Gamma_1(N)) = \bigoplus_{\varepsilon:(\ZZ/N\ZZ)^* \to \CC^*} M_k(N,\varepsilon),\]

其中和是有限阿贝尔群的所有复特征标的和 \((\ZZ/N\ZZ)^*\) 。这些字符被称为狄利克雷特字符,它在数论中是核心的。

The factors \(M_k(N,\varepsilon)\) then have bases whose \(q\)-expansions are elements of \(R[[q]]\), where \(R = \ZZ[\varepsilon]\) is the ring generated over \(\ZZ\) by the image of \(\varepsilon\). We illustrate this with \(N=k=5\) below, where DirichletGroup will be described later.

sage: CuspForms(DirichletGroup(5).0, 5).basis()
[
q + (-zeta4 - 1)*q^2 + (6*zeta4 - 6)*q^3 - ... + O(q^6)
]

狄利克雷特字符

使用命令DirichletGroup(N,R)创建模数的所有Dirichlet特征标的组 \(N\) 在环中取值 \(R\) 。如果 \(R\) 被省略,则默认为割圆字段。

sage: G = DirichletGroup(8); G
Group of Dirichlet characters modulo 8 with values in Cyclotomic Field of order 2 and degree 1
sage: v = G.list(); v
[Dirichlet character modulo 8 of conductor 1 mapping 7 |--> 1, 5 |--> 1,
Dirichlet character modulo 8 of conductor 4 mapping 7 |--> -1, 5 |--> 1,
Dirichlet character modulo 8 of conductor 8 mapping 7 |--> 1, 5 |--> -1,
Dirichlet character modulo 8 of conductor 8 mapping 7 |--> -1, 5 |--> -1]
sage: eps = G.0; eps
Dirichlet character modulo 8 of conductor 4 mapping 7 |--> -1, 5 |--> 1
sage: eps.values()
[0, 1, 0, -1, 0, 1, 0, -1]

Sage两者都通过给出一个“矩阵”来表示狄利克雷特字符,即 \((\ZZ/N\ZZ)^*\) ,并作为模整数的向量 \(n\) 。多年来,我在这两种表现形式之间左右为难,直到J·奎尔和我意识到最好的方法是同时使用这两种方法,并使它们之间的转换变得容易。

sage: parent(eps.element())
Vector space of dimension 2 over Ring of integers modulo 2

在给定狄利克雷特征的情况下,Sage还可以计算相关的Jacobi和、Gauss和、广义Bernoulli数、导体、Galois轨道等。

分解 \(M_k(\Gamma_1(N))\)

回想一下,Dirichlet字符给出了一个分解

\[M_k(\Gamma_1(N)) = \bigoplus_{\varepsilon:(\ZZ/N\ZZ)^* \to \CC^*} M_k(N,\varepsilon).\]

给定一个狄利克雷特角色 \(\varepsilon\) 我们输入ModularForms(EPS,Weight)来创建具有该字符和给定整数权重的模块表单空间。例如,我们创造了重量形式的空间 \(5\) 以字符为模数 \(8\) 上面是 \(-1\) 在……上面 \(3\)\(1\) 在……上面 \(5\) 具体如下。

sage: ModularForms(eps,5)
Modular Forms space of dimension 6, character [-1, 1] and
weight 5 over Rational Field
sage: sum([ModularForms(eps,5).dimension() for eps in v])
11
sage: ModularForms(Gamma1(8),5)
Modular Forms space of dimension 11 ...

备注

练习:计算所有空间的尺寸 \(M_2(37,\varepsilon)\) 对于所有Dirichlet角色 \(\varepsilon\)

黑克算子

The space \(M_k(\Gamma)\) is equipped with an action of a commuting ring \(\mathbb{T}\) of Hecke operators \(T_n\) for \(n\geq 1\). A standard computational problem in the theory of modular forms is to compute an explicit basis of \(q\)-expansion for \(M_k(\Gamma)\) along with matrices for the action of any Hecke operator \(T_n\), and to compute the subspace \(S_k(\Gamma)\) of cusp forms.

sage: M = ModularForms(Gamma0(11),4)
sage: M.basis()
[
q + 3*q^3 - 6*q^4 - 7*q^5 + O(q^6),
q^2 - 4*q^3 + 2*q^4 + 8*q^5 + O(q^6),
1 + O(q^6),
q + 9*q^2 + 28*q^3 + 73*q^4 + 126*q^5 + O(q^6)
]
sage: M.hecke_matrix(2)
[0 2 0 0]
[1 2 0 0]
[0 0 9 0]
[0 0 0 9]

我们还可以计算尖点子空间上的Hecke算子。

sage: S = M.cuspidal_subspace()
sage: S.hecke_matrix(2)
[0 2]
[1 2]
sage: S.hecke_matrix(3)
[ 3 -8]
[-4 -5]

打开Hecke运算符 \(M_k(\Gamma_1(N))\)

在第一次编写这些讲座时,Sage还没有实现对Hecke运算符的计算 \(M_k(\Gamma_1(N))\) ,但随后添加了以下内容:

sage: M = ModularForms(Gamma1(5),2)
sage: M
Modular Forms space of dimension 3 for Congruence Subgroup
Gamma1(5) of weight 2 over Rational Field
sage: M.hecke_matrix(2)
[ -21    0 -240]
[  -2    0  -23]
[   2    1   24]

通过首先计算模符号上的Hecke运算符来计算它们 \(\Gamma_1(N)\) ,这是一种 \(\mathbb{T}\) -同构于的模 \(M_k(\Gamma_1(N))\) (见 模数符号 )。

sage: ModularSymbols(Gamma1(5),2,sign=1).hecke_matrix(2)
[ 2  1  1]
[ 1  2 -1]
[ 0  0 -1]