Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
Function: lfun Section: l_functions C-Name: lfun0 Prototype: GGD0,L,b Help: lfun(L,s,{D=0}): compute the L-function value L(s), or if D is set, the derivative of order D at s. L is either an Lmath, an Ldata or an Linit. Description: (gen,gen):gen:prec lfun($1, $2, $bitprec) (gen,gen,?0):gen:prec lfun($1, $2, $bitprec) (gen,gen,small):gen:prec lfun0($1, $2, $3, $bitprec) Doc: compute the L-function value $L(s)$, or if \kbd{D} is set, the derivative of order \kbd{D} at $s$. The parameter \kbd{L} is either an Lmath, an Ldata (created by \kbd{lfuncreate}, or an Linit (created by \kbd{lfuninit}), preferrably the latter if many values are to be computed. The argument $s$ is also allowed to be a power series; for instance, if $s = \alpha + x + O(x^n)$, the function returns the Taylor expansion of order $n$ around $\alpha$. The result is given with absolute error less than $2^{-B}$, where $B = \text{realbitprecision}$. \misctitle{Caveat} The requested precision has a major impact on runtimes. It is advised to manipulate precision via \tet{realbitprecision} as explained above instead of \tet{realprecision} as the latter allows less granularity: \kbd{realprecision} increases by increments of 64 bits, i.e. 19 decimal digits at a time. \bprog ? lfun(x^2+1, 2) \\ Lmath: Dedekind zeta for Q(i) at 2 %1 = 1.5067030099229850308865650481820713960 ? L = lfuncreate(ellinit("5077a1")); \\ Ldata: Hasse-Weil zeta function ? lfun(L, 1+x+O(x^4)) \\ zero of order 3 at the central point %3 = 0.E-58 - 5.[...] E-40*x + 9.[...] E-40*x^2 + 1.7318[...]*x^3 + O(x^4) \\ Linit: zeta(1/2+it), |t| < 100, and derivative ? L = lfuninit(1, [100], 1); ? T = lfunzeros(L, [1,25]); %5 = [14.134725[...], 21.022039[...]] ? z = 1/2 + I*T[1]; ? abs( lfun(L, z) ) %7 = 8.7066865533412207420780392991125136196 E-39 ? abs( lfun(L, z, 1) ) %8 = 0.79316043335650611601389756527435211412 \\ simple zero @eprog