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: (Left to right) L(5,1) with regular zeros on x = 0 as well as non-trivial zeros on x = 1/2. L(5,2) with asymmetric non-trivial zeros on x = 1/2. L(61,2) and L(666,1) similar to L(5,2) and L(5,1). Right the period 10 non-L-function with X={0,1,0,-1,0,0,0,1,0,-1} has zeros manifestly varying wide of the critical line.

 

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 , Mšbius function  and Mangoldt function

 

The Mšbius function   

 

http://en.wikipedia.org/wiki/Mšbius_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 Mšbius 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);
}