Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
sagemath
GitHub Repository: sagemath/sagelib
Path: blob/master/sage/modular/modform/tests.py
4045 views
1
"""
2
TESTS:
3
4
Test consistency between modular forms and modular symbols Eisenstein
5
series charpolys, which are computed in completely separate ways.
6
7
sage: for N in range(25,33):
8
... m = ModularForms(N)
9
... e = m.eisenstein_subspace()
10
... f = e.hecke_polynomial(2)
11
... g = ModularSymbols(N).eisenstein_submodule().hecke_polynomial(2)
12
... print N, f == g
13
25 True
14
26 True
15
27 True
16
28 True
17
29 True
18
30 True
19
31 True
20
32 True
21
22
Another similar consistency check:
23
sage: for N in range(1,26):
24
... eps = (N > 2 and DirichletGroup(N,QQ).0) or N
25
... m = ModularForms(eps)
26
... e = m.eisenstein_subspace()
27
... f = e.hecke_polynomial(2)
28
... g = ModularSymbols(eps).eisenstein_submodule().hecke_polynomial(2)
29
... print N, f == g
30
1 True
31
2 True
32
3 True
33
4 True
34
5 True
35
6 True
36
7 True
37
8 True
38
9 True
39
10 True
40
11 True
41
12 True
42
13 True
43
14 True
44
15 True
45
16 True
46
17 True
47
18 True
48
19 True
49
20 True
50
21 True
51
22 True
52
23 True
53
24 True
54
25 True
55
56
We check that bug #8541 (traced to a linear algebra problem) is fixed::
57
58
sage: f = CuspForms(DirichletGroup(5).0,5).0
59
sage: f[15]
60
30*zeta4 - 210
61
"""
62
63