Find Reimann zeta's zeros with SpecialFunctions and Roots

To find the zeros of the Reimann \zeta with real part 1/2, and imaginary part less than 1000 in norm, the following is what I’m using at the moment,

using SpecialFunctions
using Roots
g(x) = abs(zeta(.5 + x*im))

Z =[]
for i in 1:5:1000
    append!(Z,find_zeros(g,i,i+5))
end

E=[-reverse(Z)...,Z...] # by symmetric

I’m breaking the line [0,1000] into segments since find_zeros(g,0,1000) will miss many of the zeros.
But this looks a bit awkward, I wonder what will be a better way to find the zeros.

You might be interested in roots interface · IntervalRootFinding.jl. It has a few methods that can give rigorous proofs of no zeros in regions.

1 Like

I was not aware of this package. It appears that complex root finding is not yet implemented, but definitely a powerful package. Thank you :smiley:
https://github.com/JuliaIntervals/IntervalRootFinding.jl/issues/147