Function: mscuspidal
Section: modular_symbols
C-Name: mscuspidal
Prototype: GD0,L,
Help: mscuspidal(M,{flag=0}): M being a full modular symbol space, as given
 by msinit, return its cuspidal part S. If flag = 1, return [S,E] its
 decomposition into Eisenstein and cuspidal parts.
Doc:
 $M$ being a full modular symbol space, as given by \kbd{msinit},
 return its cuspidal part $S$. If $\fl = 1$, return
 $[S,E]$ its decomposition into cuspidal and Eisenstein parts.

 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(2,8, 1); \\ M_8(Gamma_0(2))^+
 ? [S,E] = mscuspidal(M, 1);
 ? E[1]  \\ 2-dimensional
 %3 =
 [0 -10]

 [0 -15]

 [0  -3]

 [1   0]

 ? S[1]  \\ 1-dimensional
 %4 =
 [ 3]

 [30]

 [ 6]

 [-8]
 @eprog

Function: _eisker_worker
Section: programming/internals
C-Name: eisker_worker
Prototype: GGGGG
Help: worker for eisker
