Bill Allombert on Wed, 21 Mar 2018 18:48:08 +0100


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Derivatives of the Riemann xi function at s=1/2


On Wed, Mar 21, 2018 at 04:51:19PM +0000, Jacques Gélinas wrote:
> Sorry, the first paragraph with the Pari/GP related question got lost in my previous post.
> 
> When using the integral representation of the derivatives of the xi(s) function,
> an overflow occurs in the (double) exponential function, 
>   *** exp: overflow in expo().
> and the clumsy cut-off below must be used. 
> 
> xik (k,m=12) = intnum( t=0, [[1],1],  2 * Mt(exp(2*t),m) * t^k );
> Mt  (x,m=12) = 4 * x^(5/4) * sum(k=1, m, k^2*Pi * (k^2*Pi*x - 3/2) * eexp(-k^2*Pi*x) );
> eexp(x) = if( x < -178482300, 0, exp(x) );
> 
> Is there a better solution to this overflow (in fact underflow) problem ?

Maybe put the cut-off in the index upperbound ?
Mt(x,m=12) = 
{
  my(B=if(x<1,m,min(m, sqrt(178482300/(Pi*x)))));
  4 * x^(5/4) * sum(k=1, B, k^2*Pi * (k^2*Pi*x - 3/2) * exp(-k^2*Pi*x) );
}

At least this avoids multiplying by zero.

Some reference for the Stieltjes constants:
1) you can compute the c_n in GP with
lfun(1,1+x+O(x^(n+2)))
or in 2.10:
zeta(1+x+O(x^(n+2)))

2) see <http://beta.lmfdb.org/riemann/stieltjes/> for lots of value.

You can compute the xi function with
xi(s)=lfunlambda(1,s)*s*(s-1)/2

Cheers,
Bill