Skip to content
/ zzz Public

fast approximation of large Riemann zeta zeros on the critical line

Notifications You must be signed in to change notification settings

popojan/zzz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zeta Zeros Zeal

fast approximation of large Riemann zeta zeros on the critical line

Usage: zzz [OPTION...] N [offset] [count]
fast approximation of large Riemann zeta zeros

  -d, --digits=DIGITS        extra digits for number formatting [default 6]
  -e, --evaluate             evaluate Riemann zeta function value at the
                             approximate zero location
  -g, --debug                debug counting function from <N> to <N+offset> in
                             <count> steps
  -k, --k=K                  use first k primes for zero counting function
                             approximation [default 100]
  -p, --precision=PREC       arb precision for counting function approximation
                             [default 256]
  -t, --tolerance=TOL        tolerance for bisection [default 1e-6]
  -v, --verbose              verbose progress output
  -w, --window=WIN           initial span around Lambert W asymptotic zero
                             location +- WIN [default 1.5]
  -z, --zeta-prec=ZETA_PREC  arb precision for zeta evaluation [default 64]
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Zero counting function approximation

Combines quadratic and cubic spline with correct frequency and tangents to match the amplitude.

waves

Towards convergence

waves

Error distribution

In comparison with k=0 (basic Lambert W approximation).

errors

Approximate n-th zero locations

Zero # 10^12 + 1

see ~odlyzko/zeta_tables/zeros3

$ time ./zzz -ve -k 1000 1e12 +1
argument s = 	(0.500000000000000000 + 267653395648.847393j)  +/-  (0, 1.05e-65j)
value    z = 	(0.0166724860775396361 + 0.00559081254510210870j)  +/-  (1.17e-20, 1.05e-20j)
267653395648.847393

real	0m0.425s
user	0m0.418s
sys	0m0.004s

Zero # 10^36 + 42420637374017961984

  $ time ./zzz -k 10000 1e36 42420637374017961984
81029194732694548890047854481676713.010104

real	0m3.633s
user	0m3.620s
sys	0m0.002s
81029194732694548890047854481676712.94005   prev approximate     #10^36+42420637374017961983
81029194732694548890047854481676712.98790          published     #10^36+42420637374017961984
81029194732694548890047854481676713.01010        approximate     #10^36+42420637374017961984
81029194732694548890047854481676713.08837   next approximate     #10^36+42420637374017961985

Chebyshev Psi Exact Formula

Using zeros approximated by zzz -k 1000.

range 0 to 20 (50 zeros) range 541 to 661 (1,000 zeros) range 7920-8020 (10,000 zeros)

Literature

About

fast approximation of large Riemann zeta zeros on the critical line

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published