Riemann Zeta Function Viewer Flight Manual
The viewer allows you to interactively explore the
complex Riemann zeta function:
![]()
Riemann Zeta Mac XCode Viewer: Application - Source
See http://dhushara.com/DarkHeart/ for research, updates and source code.
Research investigations using RZViewer its associated Matlab toolbox and its companion Dark Heart Viewer are:
Experimental Observations on the Riemann Hypothesis and Exploding the Dark Heart of Chaos
By clicking, you can also investigate the discrete
dynamical parameter plane (Mandelbrot set) of the critical value 1 as
real(z)>>+°, and the Julia sets of z=f(z)+c (or z=cf(z)) for (x,y)=c.
Zeta, its additive Mandelbrot set and Julia set of c=0.
You can also investigate related functions eta, xi,
gamma, and psi (digamma), the derivatives of zeta, xi and gamma and Newton's method
on these as well (see below).
Basics:
Drag a rectangle to enlarge a portion of the current image.
Click a point to cycle:
Function > Mandelbrot > Julia(c)
at the clicked point c on the parameter plane (Mandelbrot set).
The controls all have floating help panes to guide you.
The window can be resized to suit in real time,
resulting in a refresh and recalculation.
Standard settings:
Threads enables a multi-core machine to work faster using as
many threads as coprocessors. Max
Iterations gives how many
iteration steps of a point on the Julia or Mandelbrot set before maximum
iteration cutoff. Recalc refreshes and recalculates the existing
screen. Reset
returns to the RZ function and default scale but doesn't alter any other
settings. Keep scope on click keeps the window centre and scale when clicking
between Mandelbrot, Julia and function, so the other parameters can be changed
without changing the point of view.
To facilitate fast fractal iteration, the default is
100 function series terms and a cutoff of 64 iterations for each point of the
Mandelbrot and Julia sets, but these can be adjusted for greater accuracy.
Menus:
About gives a complete instruction summary. Save saves the current window's image as a tif file and all the settings for a given calculation in a text file, enabling you to save all the parameteres for future investigation and redrawing. It will overwrite any files of the same name. Open will open a previous calculation and
redraw it. Images in the main window can also be captured and saved directly to
png format using shift apple 4. Print enables an image to be printed or exported to pdf
format. Page Setup needs to be landscape in 80% to fit the standard window on one A4 page.
Help directs
you to the about menu.
Text file format:
Mandel (=2 function =1 Mandelbrot =0 Julia), Scale, X, Y, cr, ci, altgamma (0 or 2-4), the current function, theoretical dzeta (0 or 1), orbit trap epsilon (negative exponent 10-n), escape only (0 or 1), color scheme (0
to 3), escape bound (10-100), number of zeta terms (exponent 10n),
attractor radius e bound (negative exponent 10-n), maximum iterations.
Advanced settings:
Pop-up Menus: Color schemes can be changed in real time using the color pop up
menu. All the other controls require window recalculation.
Functions related to zeta, including eta, xi, gamma, psi and
others discussed below can also be explored using the function pop-up menu. For
completeness, an alternative Gamma product formula, can be used instead of the default
Lancos approximation, by pulling down the pop-up menu to choose a power of 10
terms in the product, but is only slowly convergent, so is perilously slower
and less accurate unless 10,000 iterations are used. Th. dZeta chooses which half planes will be
calculated using theoretical differentiation and which will be done using zeta
differentials (0 neither 1 positive real -1 negative real 2 both).
Buttons and Text Fields: A function terms text field is provided to set how many terms are calculated in the chosen sum or product function, with a default of 100 for speed of initial exploration. This can be adjusted to exact large values which have anomalous behavior (see end). Current window parameters and c values can be read out from and written into the text fields and set by pressing the appropriate button. Numbers in the text fields are double precision and may appear in floating format e.g. -7.000000186963007e-05 manifestly too large to see in their entirety in the text box without dragging or selecting all and copying. The Julia c values will be overwritten by the Mandelbrot critical point origin and current Julia click point each cycle but can be manually re-entered as desired.
Tick boxes: There
is an imaginary axis orbit trap option. Escape only tests only for escaping points, to avoid
spurious periodic solutions from overwriting escaping orbits, but is slower
because attracting orbits have to run to the Max interations for each
point. The tick box +c/xc changes the parametrization from f(z)+c to cf(z) giving a second parameter plane and collection of Julia sets for each function. The Angle check box turns off and on representation of the angle (argument) in each of the display modes (default on).
Parameter planes of
and
showing extensive differences
Sliders: Attractor bound adjusts the size
of the epsilon neighbourhood testing for fixed point or periodic attractors. Escape
bound sets the real absolute bounds on points
escaping to infinity.
There are several colour schemes for function, Mandelbrot and Julia:
Function: (0) Absolute-Angle mode rgb = red logarithmic abs(z), blue cosine abs(z), green angle(z). This is the most informative although not the most appealing (1) Real-Imaginary mode rgb = real, imaginary and angle, (2) X-ray mode with red, cyan real~0 and imag~0, by exp(-x^2), adjustable by the attractor bound, overlaying bg = abs(z) and angle(z) Highlights gram points with real=0 on x=1/2 and zeros at the intersections of real~0 and imag~0. (3) Positive-Negative mode. Highlights the postive and negative real (r~c), imaginary (g~m) and angle by 1-cos (b~y).
Function modes 0-3
Mandelbrot: (0) Sine wave colours, (1) attactor coded colours,
(2) RGB ranked colours (3) Potential function rainbow. Attractor coding gives escaping points
tending to real infinity green through orange and points remaining finite
coloured by decreasing blue by iteration, combined with redness corresponding
to the attractor period.
The 'critical' point for the Mandelbrot set is chosen
to represent a prominent critical landmark. For zeta, eta, mu, and sigma it is
chosen to be 1000 corresponding to the limit
as real(z)
+°. For gamma it is 1.465. For Xi it is 0. Other critical
points can be chosen using the advanced settings. Not all the functions have
meaningful Mandelbrot sets.
Colour scheme 1 uses attractor coded colours. At left the incipient and actual attracting periods of bays in the multiplicative Mandelbrot set are shaded with increasing redness. The periods can then be verified by inspecting local Julia sets. Right an additive Julia set of
distinguishes escaping points (blue) from
attracting periods in the negative reals (red) and positive (green) shaded by
iterations to reach
-periodicity, aiding in investigating their bifurcations.
Julia: (0) Sine wave colours, (1) attactor coded colours,
(2) RGB ranked colours, (3) rainbow with potential function on escaping points.
Colour coded Julia attractors have
blue shaded to escaping real, red shaded to periodic attractor, green
non-negative periodic attractor, with grey indeterminate. The red and green are
tinged with blue to indicate the period.
For exploring the higher zeros of zeta, a high number
of series terms can be set using the slider. Values of the RZ function outside
the critical strip [0,1] are set to 0 after y=ħ450i because the sin/cos
component of the analytic continuation overflows to Inf.This leaves the zeros
in the critical strip still well rendered up to values in the millions with the
highest number of zeta iterations set in the slider.
The Functions:
Many of the functions related to Riemann-zeta are
Dirichlet series L-functions whose coefficients are important arithmetic
functions.
Zeta
![]()
Zeta is represented here in terms of Eta as:
for real(z)³0
and by analytic continuation using:
for real(z)<0.
http://en.wikipedia.org/wiki/Riemann_zeta_function
Eta
Used to extend Zeta from real(z)>=1 down to real(z)>=0.
http://en.wikipedia.org/wiki/Dirichlet_eta_function
Gamma the compex number extension of integer factorial n!
By default, the Lanczos approximation is used:
with
and
calculated by Paul Godfrey as constants from the relation:
![]()
where
are coefficients of the Chebyshev polynomial matrix. See Matlab toolbox
for details.
http://en.wikipedia.org/wiki/Lanczos_approximation
or alternatively the product formula
![]()
with n=10k terms if alt gamma is set to a non zero value.
http://en.wikipedia.org/wiki/Gamma_function
and its additive and multiplicative
parameter planes show subtle symmetry-breaking.
Xi
Provides a symmetrical presentation of the zeros on
x=1/2.
http://en.wikipedia.org/wiki/Xi_function
Note: Xi is rotated so the zeros are on the critical line, rather than the real axis.
Psi (Digamma)
the logarithmic derivative of gamma
![]()
http://en.wikipedia.org/wiki/Digamma_function
Divisor function
, totient function
, Mbius function
and Mangoldt function ![]()
The Mbius function ![]()
http://en.wikipedia.org/wiki/Mbius_function
The totient function 
http://en.wikipedia.org/wiki/Totient_function
The Mangoldt function ![]()
http://en.wikipedia.org/wiki/Mangoldt_function
The divisor function
http://en.wikipedia.org/wiki/Divisor_function
, its additive parameter plane and Julia set of 0, showing the seamless
nature of the transition across the y-axis.
dGamma, dXi and dZeta are the derivatives
.
![]()
The dz pop-up menu uses the theoretical derivative on
the corresponding part of the complex plane, rather than the default
differential derivative
The default setting (1) uses the differential formula
for for real(z)<0
and the theoretical formula for real(z)>0.

The derivative of Xi can then be derived as follows:

Newton function of
, its additive parameter plane and the Julia set of c=0, showing the basins of attraction of the non-trivial zeros (green) and trivial zeros (red). The inset (right) shows the poles caused by the zeros of
result in a
ÔdipoleĠ corresponding to a fractal basin of attraction of 0 and a Julia escape
singularity.
NewtonZ, and NewtonX are the NewtonĠs method functions for zeta, and xi.
![]()
They are provided because they naturally relate to the zeros. Xi, dXi and NewtonX are symmetrized through the relations
to avoid computational errors around the imaginary axis. This may result in some double zeros and double singularities along the critical line at the default values of series terms. The third zeros above and below have been coloured red to highlight the fractal interaction of the zeta zero basins.
Corresponding NewtonĠs method images
for
result in a vertical parameter plane and the Julia set of c=0 forming symmetrical basins of attraction of the zeta zeros.Proving the Riemann hypothesis my require linking the positions of the zeros to discrete criteria such as the separatrices of their basins of attraction.
zZeta(z) is included to explore its relationship with the zeta multiplicative parameter plane.
zetaprod is the product version of zeta which is technically defined only for real(z)>1, included for comparison with the sum formula analytic continuation version. Zetaterms adjusts the number of product terms in the same way as with zeta sum terms.
primeZeta is the function
where mu is the Mbius function (see above).
It is included for completeness. It is defined only for real(z)>0.
Warning: Use of the last two functions invokes generating a list of primes as long as function terms, which can cause errors on the first refresh, as it is sill being compiled during run time, if a large value is inserted for function terms.
theta - the Riemann-Siegel theta function

http://en.wikipedia.org/wiki/Riemann-Siegel_theta_function
RSZ - the Riemann-Siegel Z function ![]()
Both functions are rotated by the inverse transformations
so that the zeta zeros are aligned with the critical line x = 1/2 (right).
http://en.wikipedia.org/wiki/Z_function
Warning: The last two functions are still experimental. The chequerboard pattern in some views results from ambiguities in the log's principal branch due to the gamma function's circuits around 0, with increasing angle (argument), as the imaginary value of z is increased. However, when angle is turned off in the advanced controls, these artifacts disappear (right) and the Z function clearly displays the zeta zeros.
Zeta Zeros A short list of some zeta zeros mentioned in the dark heart research, which can be copied and pasted into the text fields are as follows:
1-12: 14.13472514, 21.02203964,
25.01085758, 30.42487613, 32.93506159, 37.58617816, 40.91871901, 43.32707328,
48.00515088, 49.77383248, 52.97032148, 56.4462477
125-130: 278.2507435, 279.2292509, 282.4651148, 283.2111857,
284.835964, 286.6674454
287-293: 523.9605309, 525.0773857, 527.9036416, 528.4062139,
529.8062263, 530.8669179, 532.688183
171382-171390: 121412.139210209, 121412.990421458, 121414.488895067,
121414.739043607, 121415.047364581, 121415.640550747, 121416.302522095,
121416.823543637, 121417.618749154
For further zeros go to Odlyzko's comprehensive super-computer listing: http://www.dtc.umn.edu/~odlyzko/zeta_tables/index.html
The number of function terms can also be adjusted to large exact values to show up anoumalous behavior, for example the 84270 term zeta product up to the prime 1079999, has a value at the first zeta zero of 6.25, well above 0. That for the 1518898 th prime 24199999 is a stunning 20067241.5306, anything but 0!