Function: mfkohnenbijection
Section: modular_forms
C-Name: mfkohnenbijection
Prototype: G
Help: mfkohnenbijection(mf): mf being a cuspidal space of half-integral weight
 returns [mf2,M,K,shi], where M is a matrix giving a Hecke-module
 isomorphism from S_{2k-1}(N,CHI^2) given by mf2 to the Kohnen + space
 S_k+(4N,CHI), K is a basis of the Kohnen + space, and shi gives
 the linear combination of Shimura lifts giving M^(-1).
Doc: \kbd{mf} being a cuspidal space of half-integral weight, returns
 \kbd{[mf2,M,K,shi]}, where $M$ is a matrix giving a Hecke-module
 isomorphism from the cuspidal space \kbd{mf2} giving
 $S_{2k-1}(\Gamma_0(N),\chi^2)$ to the
 Kohnen $+$-space $S_k^+(\Gamma_0(4N),\chi)$, \kbd{K} represents a basis $B$
 of the Kohnen $+$-space as a matrix whose columns are the coefficients of $B$
 on the basis of \kbd{mf}, and \kbd{shi} gives the linear combination of
 Shimura lifts giving $M^{-1}$.
 \bprog
 ? mf=mfinit([60,5/2],1); [mf2,M,K,shi]=mfkohnenbijection(mf); M
 %1 =
 [ -5/14 -1/14  1/2  3/2]

 [ 37/84 -1/84  1/2  1/2]

 [-17/84  5/84 -3/2 -9/2]

 [     0     0 -1/2 -1/2]

 ? shi
 %2 = Vecsmall([1, 5])
 @eprog
 This last command shows that the map giving the bijection is the sum of the
 Shimura lift with $D=1$ and the one with $D=5$.

 Since it gives a bijection of Hecke modules, this matrix can be used to
 transport modular form data from the easily computed space of level $N$
 and weight $2k-1$ to the more difficult space of level $4N$ and weight
 $k$: matrices of Hecke operators, new space, splitting into eigenspaces and
 eigenforms. Examples:
 \bprog
 ? K^(-1)*mfheckemat(mf,121)*K /* matrix of T_11^2 on K. Slowish. */
 time = 1,280 ms.
 %1 =
 [ 48  24  24  24]

 [  0  32   0 -20]

 [-48 -72 -40 -72]

 [  0   0   0  52]
 ? M*mfheckemat(mf2,11)*M^(-1) /* instantaneous via T_11 on S_{2k-1} */
 time = 0 ms.
 %2 =
 [ 48  24  24  24]

 [  0  32   0 -20]

 [-48 -72 -40 -72]

 [  0   0   0  52]
 ? mf20=mfinit(mf2,0); [mftobasis(mf2,b) | b<-mfbasis(mf20)]
 %3 = [[0, 0, 1, 0]~, [0, 0, 0, 1]~]
 ? F1=M*[0,0,1,0]~
 %4 = [1/2, 1/2, -3/2, -1/2]~
 ? F2=M*[0,0,0,1]~
 %5 = [3/2, 1/2, -9/2, -1/2]
 ? K*F1
 %6 = [1, 0, 0, 1, 1, 0, 0, 1, -3, 0, 0, -3, 0, 0]~
 ? K*F2
 %7 = [3, 0, 0, 3, 1, 0, 0, 1, -9, 0, 0, -3, 0, 0]~
 @eprog

 This gives a basis of the new space of $S_{5/2}^+(\Gamma_0(60))$ expressed
 on the initial basis of $S_{5/2}(\Gamma_0(60))$. If we want the eigenforms, we
 write instead:

 \bprog
 ? BE=mfeigenbasis(mf20);[E1,E2]=apply(x->K*M*mftobasis(mf2,x),BE)
 %1 = [[1, 0, 0, 1, 0, 0, 0, 0, -3, 0, 0, 0, 0, 0]~,\
       [0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, -3, 0, 0]~
 ? EI1 = mflinear(mf, E1); EI2=mflinear(mf, E2);
 @eprog\noindent
 These are the two eigenfunctions in the space \kbd{mf}, the first (resp.,
 second) will have Shimura image a multiple of $BE[1]$ (resp., $BE[2]$).
 The function \kbd{mfkohneneigenbasis} does this directly.
