No sé si yo sería mejor publicar esto en la codificación de stackexchange o no, pero aquí va de todos modos:
Estoy esencialmente tratando de verificar la hipótesis de Riemann para los primeros 1000 ceros usando el de Euler-MacLaurin de expansión de $\zeta(s)$.
Pero aquí es donde mis problemas comienzan, en primer lugar mi código de python no parece estar funcionando, estoy esencialmente usando el método descrito en el Mike de Rubinstein - "Métodos de cálculo y los Experimentos en la Teoría Analítica de números" [https://arxiv.org/pdf/math/0412181v1.pdf] y aquí está el código que me han dado:
def CalculateRZ(s, tol):
A = int(0)
while (2*A - 1 < tol + 0.5 * math.log10(abs(s + 2*A - 2))):
A = A + 1
B = int(2 * A)
N = int(math.ceil((10 / 2 * pi) * abs(s + B - 2)))
sum1 = 0.0
for n in range(1, N + 1):
sum1 = sum1 + n ** (-s)
ksum = 0.0
for k in range(1, B + 1):
ksum = ksum + Binomial(s + k - 2, k - 1) * (bernoulli(k) / k) * N ** (-s - k - 1)
sum2 = (N ** (1 - s)) / (s - 1) + ksum
EulerApx = sum1 + sum2
return EulerApx
donde Binomial(n, k), y de bernoulli(k) son exactamente lo que parecen.
Esto parece perfectamente correcto para mí, sin embargo cuando me puse
x = 1/2 + 14.134725141734693790457251983562470270784257115699243175685567460149 * 1j
(es decir: el primer cero) y ejecutar
CalculateRZ(x, 100)
Puedo obtener como salida $\zeta(x) = -0.008282095160420333 + 0.009227302793957781j$ que puede ser algo cercano a cero, pero ciertamente no para de 100 dígitos de precisión y probablemente no lo suficiente exactitud para la Hipótesis de Riemann.
Además de esto, una vez que tengo este código de trabajo no estoy seguro de cómo ir sobre la comprobación de la Hipótesis de Riemann después.
Sería mejor crear una nueva función para $Z(t)$, entonces el uso de Newton Raphson para contar los ceros? Si es así ¿cómo puedo ir sobre la computación en la $Z(t)$? Debo hacer que sea como un retorno de función $\zeta(1/2+1t)e^{i\theta(t)}$ usando mi versión de zeta y una función que sólo hacia arriba calcula el $\theta(t)$? Donde he de poner mis puntos de inicio para la N-R método para asegurarse de que golpear a todos de cero una vez y sólo una vez?
Una vez que los ceros se cuentan entiendo que puedo integrar $\zeta$ sobre algunos rectángulo, y dividir ese número por $2\pi$ la cual me dará el número de singularidades que deben coincidir con el número de ceros encuentra el uso de Newton Raphson, por lo tanto muestra que todos los ceros de la mentira en la línea $Z(t)$, y por lo tanto la verificación de la RH. Pero, ¿cómo sería esta integral se calcula?
Sé que esto es una huuge pregunta, así que se agradece cualquier ayuda, incluso si no es una respuesta a la pregunta completa.
Muchas gracias por adelantado a todos los que se toman el tiempo de su día para que me ayude!