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] }]

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] }]

Comments
Post a Comment