
RZViewer showing a third degree transcendental L-function using the functional equation method in RZViewer
Riemann Zeta Function Viewer 1.6 for Mac Flight Manual
The viewer allows you to interactively explore the complex Riemann zeta function and its complex chaotic dynamics:
![]()
New Release! Current Issue 1.6.13 [fixed error causing mode -999 not to plot].
Now includes the PARI-Computel package for generating RZViewer bitmaps, based on Tim Dokchitser's Mellin transform algorithm which complements the functional equation algorithms of RZViewer for difficult L-functions. Updated to allow rectangular regions to minimize computation times. Bitmap saving included to allow combining of functional equation maps. Can now find all new and old modular forms.
In addition to its scintillating Mandelbrot and Julia exploration facilities, version 1.6 now supports a full spectrum of abstract zeta and L-functions, including those of elliptic curves and modular forms. It has direct onboard parametrization of Riemann and Hurwitz zeta functions, Dirichlet L-functions, Dedekind zeta, and Hecke L-functions as well as Davenport-Heilbronn counterexamples. It also contains a full suite of examples of L-functions of elliptic curves, modular forms and Maass forms, including the most recent third degree transcendental L-functions so far discovered.
It includes template upload C-scripts runnng directly off Mac Terminal generating parameter files for RZViewer using coefficients generated from open source cross-platform Sage and PARI-GP scripts for the L-functions of elliptic curves and modular forms. One can define arbitrary Dirichlet series for which you can make movies of their zeroes leaving the critical line and emerging from the forbidden zone x<0, including series derived from Euler product coefficients. The latest version also allows direct upload of bitmaps generated by Tim Dokchitser's algorithm in Sage for closer inspection of zeros in the critical strip using his algorithm and includes PARI-GP scripts to generate further coefficient templates to run under RZViewer's algorithms.
Riemann Zeta Viewer with Dark Heart Viewer :Mac XCode Download Applications - RZSource - DHSource
Compatibility: Tiger through to Snow Leopard Mac XCode Application
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:
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 locating critical points for calculating Mandelbrot sets, tick dZ and explore the derivative function for a critical point (a zero of the derivative looking like a dimple). Use dragging to blow up to high resolution. Tick Keep scope and slowly click twice right on the zero without moving the mouse. The c-values will now appear in the Julia portrait. Then tick Hold, untick dZ and click twice through the original function to the Mandelbrot set. The c-values are retained in the text field by Hold. Now untick Hold and click the Set R,I button and you will get the Mandelbrot sets of the given c-value.
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.
Video of Julia set Explosions as we move c from ~ -19 to ~ -15. Notice the independent variations of the dynamics in the central bay and the right half-plane.
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 (see format below), enabling you to save all the parameters for future investigation and redrawing. It will overwrite any files of the same name. Load Parameters will load a previous calculation and redraw it. Load Movie Seq loads a sequence text file to generate a series of images to make a movie (see format below). Save Movie saves the sequence as a series of LZW compressed tifs. 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.
Video of fireworks in the zeros from L(5,4), rotating each character by the factor implied by their position on the unit circle.
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.
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. L(m,n) text fields enable examining a wide variety of Dirichlet L-functions as well as Zeta and Eta. Numbers in the real 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: dZ portrays the derivative in function mode so one can find critical points for portraying Mandelbrot sets. Full forces zeta to use all the specified terms otherwise it breaks off if the terms get smaller than 0.001 the size of the sum. Occasionally not having Full causes strip dislocations in a few regions. The logFn. tick box examines the log of the selected function. Split sets the functional equation split (-1> -100, 0>0, 1>0.25, 2>0.5). There is an x,y~0 orbit trap option highlighting points on the orbit which iterate close to the axes. Mobius tranforms the complex plane, mapping the line x=1/2 onto the unit circle, so you can see the whole extent of the Dirichlet functions. For the exact mapping see below. 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. crVal uses critical value instead of critical point for Mandelbrots. 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. Angle turns on and off the green/yellow display of the angle (argument) of f(z) in function view for each mode. Rotate rotates the image by pi/2 to assist viewing the critical line.
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). (4) Inverse absolute + angle (good for looking at zeta-prodzeta).
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. (4) attractor coded inverse quadratic. (Highlights geometrical details lost in high iteration numbers).
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 and inputing CX CY values under Mandelbrot mode, just as c values can be inserted for any Julia set. A list of critical points for zeta eta and xi is provided below, or can be approximated using the values of observed zeros of dzeta etc. You can also input CX and CY in function mode to generate a transform of the function, whose zeros are at the fixed points of the critical values [f(cv)-v=0 or f(c+v)-v=0] and hence candidates for being in Mandelbrot kernels of the critical points.
You can flip easily between Mandelbrot mode and transformed function mode using 'keep scope on click'. To exit reset. This can potentially find a finite number, out of the infinite collection of kernels, but sometimes the one located is vanishingly small, leading to blowing the mantissa of the floationg point doubles before we reach it.
Not all the functions have meaningful Mandelbrot sets. The zeta attracting fixed point is at -0.2959050055752.
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. (4) attractor coded inverse quadratic.
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:
The package is designed to facilitate research into the widest spectrum of zeta-related and L-functions possible. Each of zeta, eta and all the L-function variants L(m,n) for m up to 63 for all n and for m up to 1000 for n=1, are encoded as a generalized zeta function which can then be differentiated, or have any of the functions from xi, through those like lambda and mu whose coefficients are important arithmetic functions, to the Newtons method's and dfferentiation applied to them. This creates a widest a diversity of exploratory functions as possible.
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
Dirichlet L-functions
where
is a Dirichlet character of period m. Enter m and n into the L(m,n) text field. Each of the other variant zeta functions can be applied to any of the L-functions as well as zeta and eta. The viewer calculates the finite residue groups Z/Zn generating the characters, factors for sub-periodicities and for conductors, applies the correct functional equation and prime multiplicative factors to give the full representation on the complex plane.
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. It is now inclded as a sepatre check box which works for all functions possessing a functional equation.
http://en.wikipedia.org/wiki/Xi_function
Note: Xi is rotated so the zeros are on the critical line, rather than the real axis.
Profiles of the Dedekind zeta and Hecke L-functions for Z[i], the extension to the Gaussian integers.
DedekindHekke Dedekind zeta and Hecke L-functions of field extensions of the rationals Q. We look at those of the Gaussian integers Z[i], defined by appending i to the integers, resulting in the lattice of complex numbers with integer real and imaginary parts.
Here we have
. This has a functional equation
.
Correspondingly we have Hecke L-functions defined as follows. Consider the multiplicative group
. To give the same value on every generator this requires l to be trivial on units, hence
. We then have for each such l a Hecke L-function:
where the primes are now those of Gaussian integers, units ±1 or ±i times one of 3 types: 1+ i or a real prime which isn't a sum of squares (p mod 4 = 3), or has coefficients squaring to a prime (p mod 4 = 1). Again we have a functional equation
. The profiles of these functions with their analytic continuations are shown above.
From left to right, L-functions of the genus-1 elliptic curve
, the elliptic curve
 over
, the genus-2 curve
, the genus-3 curve
, the genus-4 curve
, and the modular cusp form
, of weight 12, the 'modular discriminant;, using Ramanujan's Tau function
, where
..
Abstract/Raw L-functions such as those of elliptic curves and modular forms can be uploaded using the parameter files and Terminal C-scripts in the files included with the package, which are also able to specify varying functional equations conductors and gamma factors. See the section on uploading parameter files and the installation file set for examples of each. Raw portraits without a functional equation can also be generated.
L-function of modular form S2(Gamma0,26) (right) compared with the power series on |z|<1 (above)
and the Fourier series in the positive half-plane (below)
Power Series gives the power series P(z)=Sum[1,â∞](a(n)zn) corresponding to the Dirichlet series L(z)=Sum[1,â∞](a(n)/nz) either of character Xm, Xn or uploaded as a coefficient set (see below).
Fourier does the Fourier series viz F(z)=Sum[1,â∞](a(n)exp(2πinz)) either of character Xm, Xn or uploaded as a coefficient set (see below).
Both the two above functions are useful when examining modular forms which are expressed as Fourier series in the upper half-plane or as power series in the unit circle. By selectng Escape Only, you can set the areas where the functions are formally undefined to black. By also selecting Orbit Trap you add 1 to the result which enables loading an Eisenstein series leaving out its leading 1 in the same way as an L-function so that one can do a Fourier or Taylor portrait of all the components of a modular form space.
Weierstrass plots a Weierstrass modular function using the first two complex coefficients of any Dirichlet or loaded abstract L-function as periodic vectors w1 and w2 on a parallelogrammatic grid extending for 2*sqrt(fnterms) to illustrate what modular functions associated with elliptic curves look like.
Davenport-Heilbronn zeta functions (5,1), (5,2), and (7,1) possess functional equations demonstrating they are meromorphic on the complex plane but lack an Euler product and have a rich array of non-trivial zeros off the critical line demonstrating a functional equation is insufficient for RH. Significant is the large number of quasi-critical zeros (below) with a sparse spread of off-critical ones, which shows why many critical zeros don't necessarily imply all. Intriguingly the quasi-critical zeros fall at a minimum divergence from criticality for the parameter xi, although all values have a functional equation expressed as the sum of rotated DL-functions (see appendix 3), so this non-superimposed form of the functional equation looks pivotal. Hurwitz zeta (5/2) likewise shows sums of L-functions have off-critical zeros. The symmetrical placing of the zeros about the critical line in (5,1) and (5,2) is confirmed in the local xi portraits inset.
Davenport-Heilbronn also shows examples of functions with a functional equation but no Euler product which have some zeros off the critical line despite having a symmetric Xi function expression
Psi (Digamma)
the logarithmic derivative of gamma
http://en.wikipedia.org/wiki/Digamma_function
The following derived zeta functions will also work with any L-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 tick-box uses the differential derivative
on the left-half plane for zeta and the theoretical formula for real(z)>0 and the differential derivative throughout for the other functions. The dZ tick box replicates this for function mode only to locate critical points of any function combination for locating layered Mandelbrot sets, however you can get a second-derivative function portrait by combining the two.
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, RepellingNZ 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.
Parameters Text file format: [0] Mandel (=2 function =1 Mandelbrot =0 Julia), [1-5] Scale, X, Y, cr, ci, [6] altgamma (0 or 2-4), [7] the current function, [8] split (0, 1, -1 2), [9] orbit trap epsilon (negative exponent 10n), [10] addtive or multiplicative c [11] escape only (0 or 1), [12] color scheme (0 to 3), [13] escape bound (10-100), [14] number of zeta terms, [15] attractor radius epsilon bound, [16] maximum iterations, [17] do log of fn [18] angle included in colour scheme [19] do mobius transformation [20] cval (holds entered critical point), [21] old fn. [22] real k [23] imag k [24] crval+2*xi [25] fullterms+2*dz [26] xm [27] xn [28] flip.
Arbitrary Dirichlet series: You can also add additional parameters to a saved text file or scripted movie file to define an arbitrary generalized Dirichlet series Sum[an]*[n+bn]^-z. These are not saved as they cannot be adjusted in the advanced settings. [29] coefficient period length k [30] type h (2 or -999 -998). Type 2 has k real and imaginary coefficients which can be varied in a movie script. Type -999 has both k coefficients and an additional k adjustments bn to the integers n forming the powers n^-z. In this way we can generate continuous movies which pass between L-functions, even using non integer exponent bases. Type -998 is used to instead multiply the resulting function with integer coefficients by (1-2^(1-z))^-1 to convert an eta type series into its zeta form.
Abstract L-functions: you can upload an abstract zeta/L function using the character period length k [29] Dirichlet series coefficients as above with and chr. type h = -997, appended after the k complex coefficients by adding the following values also as complex coefficients: d=number of gamma factors g((z+k1)/2), g((z+kd)/2), k followed by k1, ... kd, N the conductor, e the sign of the functional equation, and finally w the weight. h = -995 has the same parameters entered as complex numbers to allow for Dirichlet and Maass L-series with complex gamma factors and e terms. For L-functions with very rapidly growing coefficients which would cause numerical overflow (large weights) enter chr. no -996, scale down the coefficients of n by a factor n^-sh and enter sh as a shift factor after the weight.
Mac Terminal C-script examples are provided in the attached files to generate parameter files for uploading. For details of these parameters and the original examples see: http://www.dpmms.cam.ac.uk/~td278/computel/. Note that PARI-GP is now incorporated into Sage http://www.sagemath.org/ from which the coefficients for several of the templates were generated.
Bitmaps: You can upload bitmaps of complex functions generated for example with the Sage script for elliptic curve L-functions in the enclosed template files using Dokchitser's Mellin transform algorithm to give a more accurate depiction of the critcal strip for moderate imaginary values (up to ~30 for 37b). The image will initally show in its exact size. Since it's a bitmap blowing it up will reduce the resolution of individual pixels.
Movie Sequence Formats: The text file consists of s eries of floating point numbers. (1) File format 1-3 (2) N<=1000 number of frames (3) 1/0 Mandelbrot/Julia followed by a sequence of frame parameters screen X, Y, Scale CX, CY. Format 1: only the start and end parameters are specified and DHViewer will generate N frames in a linear sequence between these values. Format 2: the file supplies a series of N parameters on any trajectory, for instance computed values running around the cardioid of a Mandelbrot set. Format 1 and 2 files can either generate blowups of Mandelbrot sets or movies of Julia sets as CX and CY vary. The sequence file has no parameters except mandel, so you can set all the other settings manually before saving the movie. If you want to determine in advance the complete parameters for a movie run, save your parameters and load them before loading the movie sequence file. Format 3: The format file contains only parameters 1 & 2 and is accompanied by a series of full parameter files, generated by another application such as Matlab. If the format file is myfile.txt, the parameter files need to be numbered myfile0.txt - myfileN,txt. This format enables batch programming of any sequence of images automatically.
First Zeta Critical Points
x-axis
z = -2.7172 z(z) = 0.0092
z = -4.9368 z(z) = -0.0040
z = -7.0746 z(z) = 0.0042
z = -9.1705 z(z) = -0.0079
z = -11.2412 z(z) = 0.0227
z = -13.2956 z(z) = -0.0937
z = -15.3387 z(z) = 0.5206
z = -17.3739 z(z) = -3.7436
z = -19.4031 z(z) = 33.8083
z = -21.4279 z(z) = -374.4187
z = -23.4492 z(z) = 4988
Critical line (dzeta approximation plus Newton)
z = 2.463356 + 23.297678i, z(z) = 0.9289 + 0.0308i
z = 1.286578 + 31.708124i, z(z) = 0.7073 + 0.0110i
z = 2.306454 + 38.489796i, z(z) = 0.9919 - 0.0931i
z = 1.382872 + 42.2909775i, z(z) = 0.7930 + 0.1273i
z = 0.9646998675 + 48.8471714103i
z = 2.1016662620 + 52.4314144061i
z = 1.8960801201 + 57.1342532310i
z = 0.8487341239 + 60.1408464582i z(z) = 0.4881 + 0.1283i
z = 1.2073178358 + 65.9199666872i z(z) = 0.7776 - 0.2061i
z = 0.7806300097 + 95.2929688274i z(z) = 0.4295 + 0.0779i
Eta Critical Points
z = -3.0430 e(z) = -0.1252
z = -5.2330 e(z) = 0.2673
z = -7.3360 e(z) = -1.2390
z = -9.4020 e(z) = 9.8440
z = 2.758314+14.451968i, e(z) = 1.0548 - 0.0412i
z = 1.776063+20.348036i, e(z) = 0.9585 + 0.1994i
z = 1.386667+25.644800i, e(z) = 0.7875 - 0.2597i
Xi Critical Points
z = 0.5, x(z)= 0.5
z = 0.5 + 15.444i, x(z)= -0.0009
z = 0.5 + 21.918i, x(z)= 0
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!
//zerobounce10.c Generates a movie parameter file set of zeta zeros of
//{1,0,c,0,0,0,-c,0,-1,0} c=exp(2*pi*I*param)
//to be processed with RZViewer
//To run this file from terminal put it in a folder, cd to the folder and input
//gcc -o rzmovieo zerobounce10.c -lm && ./rzmovieo
//To run successive compiled versions type ./rzmovieo
//See: http://www.dhushara.com/DarkHeart/RZV/RZViewer.htm
#include <stdio.h>
#include<complex.h>
const double pi=3.1415926535;
const int frames = 5; // use n+1 frames for circular parameter n-fold symmetry
const int spcno = 29+2+2*10;
const char base[] = "Movie";
void WriteParamFile(int frameno, double param);
int main(void)
{
FILE *mf;
char filename [ FILENAME_MAX ];
int filetyp = 3;
int k;
double xstt = 0.25;
double xend = 1.25;
double xpos;
sprintf(filename, "%s.txt", base);
mf=fopen(filename,"w");
fprintf(mf,"%f %f \n",(float)filetyp, (float)frames);
fclose(mf);
xpos=xstt;
for(k=0;k<frames;k++)
{
if(k==0)
xpos=xstt;
else
xpos=xstt+(xend-xstt)*k/(frames-1);
WriteParamFile(k, (double)xpos);
}
return 0;
}
void WriteParamFile(int frameno, double param)
{
FILE *mf;
char filename [ FILENAME_MAX ];
int j;
double specs[spcno];
double mandel=2;
double scale=15;
double screenX=24;
double screenY=0;
double cx=0;
double cy=0;
double altgamma=0;
double thisfn=18;
double split=1;
double orbitTrapE=0;
double addc=1;
double escapeonly=0;
double colsch=0;
double zetaterms=100;
double escapeboundExp=1.7;
double attractorEscBd=-2;
double maxIterations=64;
double dolog=0;
double sang=1;
double domoib=0;
double cval=0;
double oldfn=thisfn;
double realk=0;
double imagk=0;
double crval=0;
double fullt=0;
double xm=0;
double xn=2;
double flip=1;
specs[0]=mandel;
specs[1]=scale;
specs[2]=screenX;
specs[3]=screenY;
specs[4]=cx;
specs[5]=cy;
specs[6]=altgamma;
specs[7]=thisfn;
specs[8]=split;
specs[9]=orbitTrapE; //orbit trap epsilon
specs[10]=addc; //additive c/ mult c
specs[11]=escapeonly;
specs[12]=colsch;
specs[13]=escapeboundExp; //escape bound exponent
specs[14]=zetaterms;
specs[15]=attractorEscBd; //attractor escape bound 10^-k
specs[16]=maxIterations; //iterations
specs[17]=dolog; //take log of the function
specs[18]=sang; //angle ploting
specs[19]=domoib; //mobius
specs[20]=cval;
specs[21]=oldfn;
specs[22]=realk;
specs[23]=imagk;
specs[24]=crval;
specs[25]=fullt;
specs[26]=xm;
specs[27]=xn;
specs[28]=flip;
specs[29]=10;
specs[30]=0;
specs[31]=1; //complex characters
specs[32]=0;
specs[33]=0;
specs[34]=0;
specs[35]=creal(cexp(2*pi*I*param));
specs[36]=cimag(cexp(2*pi*I*param));
specs[37]=0;
specs[38]=0;
specs[39]=0;
specs[40]=0;
specs[41]=0;
specs[42]=0;
specs[43]=-creal(cexp(2*pi*I*param));
specs[44]=-cimag(cexp(2*pi*I*param));
specs[45]=0;
specs[46]=0;
specs[47]=-1;
specs[48]=0;
specs[49]=0;
specs[50]=0;
sprintf(filename, "%s%d.txt", base, frameno);
//printf("filename = \"%s\"\n", filename);
mf=fopen(filename,"w");
for (j=0;j<spcno;j++)
fprintf(mf,"%f ",specs[j]);
fclose(mf);
}