I am reading Prime Obsession by John Derbyshire. Towards the end he offers a detailed calculation of $J(x)$ (according to Reimann). He uses $x=20$ as his example. He calculates $20^\rho$ for the first couple of zeros (and draws the circle with radius $\sqrt{20}$. In particular: He writes that $20^{0.5+14.134725i} = -0.302303-4.46191i$.
But then he proceeds to write, and we are on the top of page 340 for those with a copy at hand, that $\textrm{Li}(-0.302303-4.46191i) = -0.105384+3.14749i$, where Li is the classic logarithmic integral.
I use Python, and the problem is that sympy.li and mpmath.li both returns $1.99796923684748 - 3.91384242586457i$.
I wrote the author, who responded "The problem is that raising a number to a complex power does not give a single indisputable result. Different software picks different results. I used Mathematica & the values it gave me that best make my case. Other packages deliver different answers -- all correct!".
However feeding Li(20^(1/2+14.134725*i)) into WolframAlpha returns "my" result, not the author's.
My goal is to "unwrap" the $\sqrt{20}$ circle into the beautiful double-spiral on page 337. The plot I get does not match, and I assume it is because I apply Li incorrectly.
Any help in explaining the use of Li in Python would be highly appreciated.
You need to evaluate the non-trivial zeta zero terms as $\text{Ei}\left(\log(x)\ \rho\right)$ (see WolframAlpha evaluation).
On page 335 of "Prime Obsession" the author indicates the following:
Note $128$ on page $390$ explains the author used $\text{Ei}\left(\log(x)\ \rho\right)$ instead of $Li(x^\rho)$.
The Mathematica expression
generates the following plot where the red discrete evaluation points represent $\left\{\Re\left(\text{Ei}\left(\log(20)\ \rho_1\right)\right),\Im\left(\text{Ei}\left(\log(20)\ \rho_1\right)\right)\right\}$ and $\left\{\Re\left(\text{Ei}\left(\log(20)\ \rho_{-1}\right)\right),\Im\left(\text{Ei}\left(\log(20)\ \rho_{-1}\right)\right)\right\}$: