File: mssplit

package info (click to toggle)
pari 2.9.1-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 18,264 kB
  • ctags: 16,155
  • sloc: ansic: 203,761; sh: 853; perl: 376; yacc: 202; makefile: 129
file content (32 lines) | stat: -rw-r--r-- 1,397 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Function: mssplit
Section: modular_symbols
C-Name: mssplit
Prototype: GGD0,L,
Help: mssplit(M,H,{dimlim}): M being a full modular symbol space, as given by
 msinit, and H being a subspace, split H into Hecke-simple subspaces.
 If dimlim is present and positive, restrict to dim <= dimlim.
Doc:
 Let $M$ denote a full modular symbol space, as given by \kbd{msinit}$(N,k,1)$
 or $\kbd{msinit}(N,k,-1)$ and let $H$ be a Hecke-stable subspace of
 \kbd{msnew}$(M)$. This function split $H$ into Hecke-simple subspaces. If
 \kbd{dimlim} is present and positive, restrict to subspaces of dimension
 $\leq \kbd{dimlim}$. A subspace is given by a structure allowing quick
 projection and restriction of linear operators; its first component is a
 matrix with integer coefficients whose columns form a $\Q$-basis of the
 subspace.

 \bprog
 ? M = msinit(11,8, 1); \\ M_8(Gamma_0(11))^+
 ? L = mssplit(M, msnew(M));
 ? #L
 %3 = 2
 ? f = msqexpansion(M,L[1],5); f[1].mod
 %4 = x^2 + 8*x - 44
 ? lift(f)
 %5 = [1, x, -6*x - 27, -8*x - 84, 20*x - 155]
 ? g = msqexpansion(M,L[2],5); g[1].mod
 %6 = x^4 - 558*x^2 + 140*x + 51744
 @eprog\noindent To a Hecke-simple subspace corresponds an orbit of
 (normalized) newforms, defined over a number field. In the above example,
 we printed the polynomials defining the said fields, as well as the first
 5 Fourier coefficients (at the infinite cusp) of one such form.