模数形式

SageMath的计算专长之一是模块化表单(这是非常专业的技术领域),它可以做的事情远远超出了这个非常简短的介绍中所建议的范围。

尖角形状

如何使用Sage计算尖形空间的尺寸?

要计算Gamma的尖点形状空间的维度,请使用以下命令 dimension_cusp_forms 。以下是本教程中“模块化表单”一节中的一个示例:

sage: from sage.modular.dims import dimension_cusp_forms
sage: dimension_cusp_forms(Gamma0(11),2)
1
sage: dimension_cusp_forms(Gamma0(1),12)
1
sage: dimension_cusp_forms(Gamma1(389),2)
6112

相关命令: dimension_new__cusp_forms_gamma0 (适用于新表格尺寸), dimension_modular_forms (适用于模块化表单),以及 dimension_eis (针对爱森斯坦系列)。语法相似-有关示例,请参阅《参考手册》。

陪集代表

算术商基本域的显式表示 \(H/\Gamma\) 可以从这些陪集中确定 \(\Gamma\) 在……里面 \(SL_2(\ZZ)\) 。这些陪集在Sage中是如何计算的?

下面是一个计算陪集表示的示例 \(SL_2(\ZZ)/\Gamma_0(11)\)

sage: G = Gamma0(11); G
Congruence Subgroup Gamma0(11)
sage: list(G.coset_reps())
[
[1 0]  [ 0 -1]  [1 0]  [ 0 -1]  [ 0 -1]  [ 0 -1]  [ 0 -1]  [ 0 -1]
[0 1], [ 1  0], [1 1], [ 1  2], [ 1  3], [ 1  4], [ 1  5], [ 1  6],
<BLANKLINE>
[ 0 -1]  [ 0 -1]  [ 0 -1]  [ 0 -1]
[ 1  7], [ 1  8], [ 1  9], [ 1 10]
]

模符号与Hecke算子

接下来,我们说明了Hecke算子在1级和12权的模符号空间上的计算。

sage: M = ModularSymbols(1,12)
sage: M.basis()
([X^8*Y^2,(0,0)], [X^9*Y,(0,0)], [X^10,(0,0)])
sage: t2 = M.T(2)
sage: f = t2.charpoly('x'); f
x^3 - 2001*x^2 - 97776*x - 1180224
sage: factor(f)
(x - 2049) * (x + 24)^2
sage: M.T(11).charpoly('x').factor()
(x - 285311670612) * (x - 534612)^2

这里 t2 表示Hecke运算符 \(T_2\) 关于环的全模符号空间 \(\Gamma_0(1)\) 重量的 \(12\) 带手势 \(0\) 和维度 \(3\) 完毕 \(\QQ\)

sage: M = ModularSymbols(Gamma1(6),3,sign=0)
sage: M
Modular Symbols space of dimension 4 for Gamma_1(6) of weight 3 with sign 0
over Rational Field
sage: M.basis()
([X,(0,5)], [X,(3,5)], [X,(4,5)], [X,(5,5)])
sage: M._compute_hecke_matrix_prime(2).charpoly()
x^4 - 17*x^2 + 16
sage: M.integral_structure()
Free module of degree 4 and rank 4 over Integer Ring
Echelon basis matrix:
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[0 0 0 1]

有关更多示例,请参阅教程或《参考手册》中关于模块化表单的部分。

亏格公式

Sage可以计算出 \(X_0(N)\)\(X_1(N)\) ,以及相关的曲线。以下是一些语法示例:

sage: from sage.modular.dims import dimension_cusp_forms
sage: dimension_cusp_forms(Gamma0(22))
2
sage: dimension_cusp_forms(Gamma0(30))
3
sage: dimension_cusp_forms(Gamma1(30))
9

See the code for computing dimensions of spaces of modular forms (in sage/modular/dims.py) or the paper by Oesterlé and Cohen {CO} for some details.