Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
Function: intnuminit
Section: sums
C-Name: intnuminit
Prototype: GGD0,L,p
Help: intnuminit(a,b,{m=0}): initialize tables for integrations from a to b.
See help for intnum for coding of a and b. Possible types: compact interval,
semi-compact (one extremity at + or - infinity) or R, and very slowly, slowly
or exponentially decreasing, or sine or cosine oscillating at infinities.
Doc: initialize tables for integration from
$a$ to $b$, where $a$ and $b$ are coded as in \kbd{intnum}. Only the
compactness, the possible existence of singularities, the speed of decrease
or the oscillations at infinity are taken into account, and not the values.
For instance {\tt intnuminit(-1,1)} is equivalent to {\tt intnuminit(0,Pi)},
and {\tt intnuminit([0,-1/2],oo)} is equivalent to
{\tt intnuminit([-1,-1/2], -oo)}; on the other hand, the order matters
and
{\tt intnuminit([0,-1/2], [1,-1/3])} is \emph{not} equivalent to
{\tt intnuminit([0,-1/3], [1,-1/2])} !
If $m$ is present, it must be nonnegative and we multiply the default
number of sampling points by $2^m$ (increasing the running time by a
similar factor).
The result is technical and liable to change in the future, but we document
it here for completeness. Let $x=\phi(t)$, $t\in ]-\infty,\infty[$ be an
internally chosen change of variable, achieving double exponential decrease of
the integrand at infinity. The integrator \kbd{intnum} will compute
$$ h \sum_{|n| < N} \phi'(nh) F(\phi(nh)) $$
for some integration step $h$ and truncation parameter $N$.
In basic use, let
\bprog
[h, x0, w0, xp, wp, xm, wm] = intnuminit(a,b);
@eprog
\item $h$ is the integration step
\item $x_0 = \phi(0)$ and $w_0 = \phi'(0)$,
\item \var{xp} contains the $\phi(nh)$, $0 < n < N$,
\item \var{xm} contains the $\phi(nh)$, $0 < -n < N$, or is empty.
\item \var{wp} contains the $\phi'(nh)$, $0 < n < N$,
\item \var{wm} contains the $\phi'(nh)$, $0 < -n < N$, or is empty.
The arrays \var{xm} and \var{wm} are left empty when $\phi$ is an odd
function. In complicated situations,
\kbd{intnuminit} may return up to $3$ such arrays, corresponding
to a splitting of up to $3$ integrals of basic type.
If the functions to be integrated later are of the form $F = f(t) k(t,z)$
for some kernel $k$ (e.g. Fourier, Laplace, Mellin, \dots), it is
useful to also precompute the values of $f(\phi(nh))$, which is accomplished
by \tet{intfuncinit}. The hard part is to determine the behavior
of $F$ at endpoints, depending on $z$.