Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
default(parisize, "20M");
check(a,b) = my(t = abs((a-b)/b)); if (t, ceil(log(t)/log(10)), -oo);
default(realprecision, 211);
pi=Pi;
localbitprec(620); v = vector(128,n,n*sin(1/n));
\p115
check(limitnum(n -> n*sin(1/n)), 1)
check(limitnum(v), 1)
check(limitnum(n -> n^2*sin(1/n^2),2), 1)
check(limitnum(n -> (1+1/n)^n), exp(1))
f(n) = n! / (n^n*exp(-n)*sqrt(2*Pi*n));
asympnum(f)
bestappr(asympnumraw(f,10), 2^60)
asympnum(n->log(1+1/n^2),2)[1..17]
\p115
asympnum(n->log(1+1/n^pi),pi)[1..17]
bestappr(asympnumraw(n->log(1+1/n^pi),17,pi),2^60)
asympnum(v)
\p38
log(limitnum(n->(1+1/n)^n))
limitnum(n->sum(j=1,n,sqrt(j)/j^2),1/2) - zeta(3/2)
limitnum(n->n^2*(1-cos(1/n)),2)
v2(N,mul = 1) =
{ my(q = mul*N, V);
if (q == 1, return ([1/3]));
V = vector(q); V[1] = V[2] = 1;
for(n = 2, q - 1,
V[n+1] = ((2*n + 1)*V[n] + 3*(n - 1)*V[n-1]) / (n + 2));
f = (n -> 3^n / n^(3/2));
return (vector(N, n, V[n*mul] / f(n*mul)));
}
limitnum(v2) > 1e6
limitnum(N->v2(N,10))-3/sqrt(12*Pi)
h(n)=
{ \\ 1.612 makes a difference between 32-bit/64-bit archs
localbitprec(ceil(bitprecision(1.) * 1.8));
my(a=1,A=1,B=1.);
vector(n, i, a=B/i; A+=a; B+=A; a);
}
H=h(1849);
b(n)=log(H[n])-(2*sqrt(n)-3/4*log(n));
localprec(57); C=-1/2-log(2*sqrt(Pi));
check(limitnum(n->b(n^2)), C)
check(limitnum(n->b(20*n), 1/2), C)
asympnum(n->b(n^2)-C)
asympnum(n->lngamma(n+1)-(n+1/2)*log(n)+n-1/2*log(2*Pi))
asympnum(a->if(a%40==0,a^(-5/2)*I,0))
\\ Errors, keep at end
asympnum(1)
limitnum(1)
limitnum(n->1,-1)