Skip to main content

calculus and analysis - How to calculate the residue of $1/f(z)$ at a numerical approximation to a root of $f(z)$?


The input


Residue[1/DirichletL[19,10,s],{s,s0}]

gives 0 even when s0 is a root. For example, from LMFDB, I found s0 = 0.5 + 1.51608375316006 I is an approximate root of DirichletL(19,10,s). (In LMFDB this character is actually indexed 18, though.)


For the Riemann zeta function, we can get around this by using ZetaZero[1] to represent s0. What can be done for other $L$-functions?



Answer



You can use Cauchy's theorem.



Define the approximate zero of your function :


zero = FindRoot[DirichletL[19, 10, s], {s, 0.5 + I}][[1, 2]]
(* 0.5 + 1.51608 I *)

Series will not consider this a pole of 1/DirichletL[19, 10, s] and I think this is why you get a zero residue.


However, integrating on a small square around that pole one finds :


Table[{eps, 
NIntegrate[1/DirichletL[19, 10, s],
{s, zero + eps (1+I), zero + eps (-1+I), zero + eps (-1-I),
zero + eps (1-I), zero + eps (1+1 I)}]/(2 Pi I)},

{eps, 10^Range[0., -5, -1] }]

enter image description here


Same for the Zeta function as a check :


Residue[1/Zeta[s], {s, ZetaZero[1]}] // N
(* 1.2451 - 0.198218 I *)

Table[{eps,
NIntegrate[1/Zeta[s],
{s, ZetaZero[1] + eps (1+I), ZetaZero[1] + eps (-1+I),

ZetaZero[1] + eps (-1-I), ZetaZero[1] + eps (1-I),
ZetaZero[1] + eps (1+I)}]/(2 Pi I)},
{eps, 10^Range[0, -5, -1] }]

enter image description here


Comments