Function: mfsymboleval
Section: modular_forms
C-Name: mfsymboleval
Prototype: GGDGb
Help: mfsymboleval(fs,path,{ga=id}): evaluation of the modular
 symbol fs output by mfsymbol on the given path, where path is either a vector
 [s1,s2] or an integral matrix [a,b;c,d] representing the path [a/c,b/d].
 In both cases, s1 or s2 (or a/c or b/d) can also be elements of the upper
 half-plane. The result is the polynomial equal to the integral between s1 and
 s2 of (X-tau)^{k-2}F(tau). If ga in GL_2+(Q) is given, replace F by F|_k ga.
 If the integral diverges, the result will be a rational function.
Doc: evaluation of the modular symbol $fs$ (corresponding to the modular
 form $f$) output by \kbd{mfsymbol} on the given path \kbd{path}, where
 \kbd{path} is either a vector $[s_1,s_2]$ or an integral matrix $[a,b;c,d]$
 representing the path $[a/c,b/d]$. In both cases $s_1$ or $s_2$ (or $a/c$ or
 $b/d$) can also be elements of the upper half-plane.
 To avoid possibly lengthy \kbd{mfsymbol} computations, the program also
 accepts $fs$ of the form \kbd{[mf,F]}, but in that case $s_1$ and $s_2$
 are limited to \kbd{oo} and elements of the upper half-plane.
 The result is the polynomial equal to
 $\int_{s_1}^{s_2}(X-\tau)^{k-2}F(\tau)\,d\tau$, the integral being
 computed along a geodesic joining $s_1$ and $s_2$. If \kbd{ga} in $GL_2^+(\Q)$
 is given, replace $F$ by $F|_{k}\gamma$. Note that if the integral diverges,
 the result will be a rational function.
 If the field of definition $\Q(f)$ is larger than $\Q(\chi)$ then $f$ can be
 embedded into $\C$ in $d=[\Q(f):\Q(\chi)]$ ways, in which case a vector of
 the $d$ results is returned.
 \bprog
 ? mf=mfinit([35,2],1);f=mfbasis(mf)[1];fs=mfsymbol(mf,f);
 ? mfsymboleval(fs,[0,oo])
 %1 = 0.31404011074188471664161704390256378537*I
 ? mfsymboleval(fs,[1,3;2,5])
 %2 = -0.1429696291... - 0.2619975641...*I
 ? mfsymboleval(fs,[I,2*I])
 %3 = 0.00088969563028739893631700037491116258378*I
 ? E2=mfEk(2);E22=mflinear([E2,mfbd(E2,2)],[1,-2]);mf=mfinit(E22);
 ? E2S = mfsymbol(mf,E22);
 ? mfsymboleval(E2S,[0,1])
 %6 = (-1.00000...*x^2 + 1.00000...*x - 0.50000...)/(x^2 - x)
 @eprog
 The rational function which is given in case the integral diverges is
 easy to interpret. For instance:
 \bprog
 ? E4=mfEk(4);mf=mfinit(E4);ES=mfsymbol(mf,E4);
 ? mfsymboleval(ES,[I,oo])
 %2 = 1/3*x^3 - 0.928067...*I*x^2 - 0.833333...*x + 0.234978...*I
 ? mfsymboleval(ES,[0,I])
 %3 = (-0.234978...*I*x^3 - 0.833333...*x^2 + 0.928067...*I*x + 0.333333...)/x
 @eprog\noindent
 \kbd{mfsymboleval(ES,[a,oo])} is the limit as $T\to\infty$ of
 $$\int_a^{iT}(X-\tau)^{k-2}F(\tau)\,d\tau + a(0)(X-iT)^{k-1}/(k-1)\;,$$
 where $a(0)$ is the $0$th coefficient of $F$ at infinity. Similarly,
 \kbd{mfsymboleval(ES,[0,a])} is the limit as $T\to\infty$ of
 $$\int_{i/T}^a(X-\tau)^{k-2}F(\tau)\,d\tau+b(0)(1+iTX)^{k-1}/(k-1)\;,$$
 where $b(0)$ is the $0$th coefficient of $F|_{k} S$ at infinity.
