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?

-
what is LMFDB?....from help it says about Residue Laurent expansion of expr. What is the Laurent expansion of 1/DirichletL[19,10,s]? does it have a Laurent expansion? – Nasser Feb 25 '14 at 3:20
LMFDB is a database of information about $L$-functions and related structures: lmfdb.org. DirichletL[19,10,s] is a specific $L$-function, $L(\chi,s)$, where the modulus of the Dirichlet character $\chi$ is $19$. It has a simple zero at s0, so it's reciprocal should have a pole there (and therefore a Laurent expansion). – A l'Maeaux Feb 25 '14 at 3:30
This...and this.. might be of help. You can calculate the steps manually to gain better understanding. – Rorschach Feb 25 '14 at 3:47

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

-