RZViewer showing a third degree transcendental *L*-function using the functional equation method in RZViewer

**Riemann Zeta Function Viewer 2.0 for Mac Flight Manual**

The viewer allows you to interactively explore the complex Riemann zeta function and its complex chaotic dynamics:

**Current Issue** **2.0.0 Mac OS Tiger to el Capitan **

Dark Heart Package 2.0 for Mac Latest full overview of DH and RZ Viewer 2.0

**Download all viewers with Riemann Zeta and Dark Heart viewer source codes**

**Uses Mellin transform integrals in Dirichlet, Hecke, elliptic curve and modular form L-functions to give a smooth representation of a wide variety of L-functions permitting investigation such as confirming the Birch Swinnerton-Dyer conjecture**. Includes an experimental general Dokchitser type inverse Mellin transform algorithm for motivic *L*-functions, operating successfully on proof-of-concept test examples.

.

In addition to its scintillating Mandelbrot and Julia exploration facilities, version 1.7 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.

Includes template upload *C*-scripts running 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. The package also includes Tim Dokchitser's Computel algorithm and PARI-GP to generate further coefficient templates and bitmaps to run under RZViewer.

See http://dhushara.com/DarkHeart/RZV/ for research, updates and source code.

.

**Research investigations** using **RZViewer** its associated **Matlab toolbox** and its companion Dark Heart Viewer:

**A Dynamical Key to the Riemann Hypothesis**(with movies)**Fractal Geography of the Riemann Zeta Function**(with movies)**Experimental Observations on the Riemann Hypothesis****Exploding the Dark Heart of Chaos**

By clicking, you can also investigate the
dynamical parameter plane (Mandelbrot set) of the critical value 1, 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.

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

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.

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

**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

**Tick boxes:** ** dZ** portrays the derivative in function mode so one can find critical points for portraying Mandelbrot sets.

Parameter planes of and showing extensive differences

**Sliders:** ** Attractor bound** adjusts the size
of the epsilon neighbourhood testing for fixed point or periodic attractors.

There are several **colour schemes** for function, Mandelbrot and Julia:

**Function:** (0) * Absolute-Angle mode* rgb = red logarithmic abs(

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.

.

Blue skies exploration of an additive Mandelbrot kernel near z95=0.78+95.29i. Top left to right. (1) The derivative function wih the chosen critical point starred. (2) The modified zeta function showing fixed values. (3) A further 'north' section of the same function showing the principal point starred close to the location of the original critical point. (4) The Mandelbrot kernel with bulbs. Bottom left to right: The hashed and starred locations point to a satellite Mandelbrot island whose period 3 bulb generates a Julia set (lower right) with period 3 kernels (mid right).

.

**Blue-Skies Method for Finding Mandelbrot Kernels for Zeta Functions**

.

This method enables exploration of a wide range of Mandelbrot sets of zeta functions intuitively taking advantage of the software algorithms without having to do complex arithmetic to look for the needle in the haystack.

.

**Step 1:** Explore the critical points of the function using the ** dz** derivative option. Choose a critical point and scale the image by dragging rectangles to focus on a small region around the critical point. If the critical point has strip-like artefacts due to function term round-off, tick the

.

**Step2:** Tick the ** keep scope** option and click the function twice right on the critical point to get Julia representation. This will insert the

.

**Step 3:** You now need to decide whether you are exploring an additive or multiplicative Mandelbrot set. Untick ** +c/xc** if you are using multiplicative.

.

**Step 4:** Untick ** dz** so we are dealing with the original function (this didn't affect the Julia step because

.

**Step 5:** Have a look initially at the principal point, which due to the maths is a double zero so has two yellow angular rays meeting in it. This is where one is most likely to easily find a principal Mandelbrot kernel. In the additive case the principal point will be quite close to the critical point because it only has an additive shift, but in the multiplicative case it may be rescaled and you will have to search for the double zero. You can insert a new Y value and click ** Set X,Y,S** to move further up or down the imaginary axis.

.

**Step 6:** With ** keep scope** ticked, click the point once to go into Mandelbrot mode. Click

.

**Step 7:** You can now explore the region of the Mandelbrot kernel or its islands and can check the corresponding Julia kernels by clicking once on a spot with ** Hold** unticked to pick up the actual

.

Non-trivial critical values of the Dedekind zeta function

.

**Step 8:** You can also find a critical value to use with ** crVal** by locating the critical point as a zero of dz scaling down to a microscopic domain around it and unchecking dz and refreshing to give the value of the function, which is stationary at the critical point. This can then be found by saving a bitmap and viewing it as a text file where the stationary value will be at the midpoint (see bitmaps below). Use the smallest size screen for a smaller bitmap. Selected critical values for zeta are included below.

.

**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

.

Dirichlet, Hecke, elliptic curve and modular form *L*-functions are generated in five phases, illustrated here for Dirichlet:

.

1: Principal functions and those with similar factorizations are expressed in terms of zeta or a lower character *L*-function:

2: Non-primitive functions are expressed in terms of primitives:

3: For primitives, in the right half-plane *s* ≥ 1/2, we calculate the series:

4: In the left half plane we use the analytic continuation where

5: In the central critical strip, for -0.15<*x*<1.2, -7<y<7, we use the Mellin transform:

where

**Gamma** the complex 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*=10* ^{k}* terms if

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**[

** DedekindHekke** Dedekind zeta and Hecke

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. The profiles are again generated using a Dirichlet series, analytic continuation and a Mellin transform in the centre.

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. If full terms is selected, the algorithm will also use a Mellin transform for elliptic curves and modular forms to give a fully smoothed

.

With 1.7.3, an experimental general inverse Mellin tranform has been implemented which enables Mellin tranform portraits of geneneral motivic *L*-functions in the central region.

.

The analytic continuation of each class of *L*-function is achieved by applying a product of gamma functions
derived from the symmetries in the
functions, each of which is generated as
. For each of the cases outlined above,
has a known exponential form and other cases include Bessel functions and more general harmonic exponentials, as shown in fig 37b. Because we can express the complete gamma factor as a Mellin transform:
, and the *L*-function is a Mellin transform of theta:

we can thus reverse the process of defining the gamma factors through the Mellin transforms and derive the Mellin transform of an *L*-function by specifying its gamma factors and generating
as the inverse Mellin transform of
:
to get
. This integral can easily be performed numerically on an interval up the critical strip giving good correspondence with known
, as shown in fig 37b. Note that this behaves in the manner of a Fourier transform on
, as
is sinusoidal on the imaginary dimension. The functional equations are, in turn, derived from
symmetries such as
where
are any pole singularities. For example, for
by Poisson summation equating the function sum to its summed Fourier transforms:
, we have
, since the Fourier transform of
is
and
has residues 1, -1 at 0, 1. A similar result holds for modular forms by modularity. We can then evaluate the *L*-function using
:
hence
. Hence we have the functional equation:
.

See ** parameter files** for details.

*L*-function of modular form S_{2}(Gamma0,26) (right) compared with

the power series on |*z*|<1 (below)

and the Fourier series in the positive half-plane (above)

** Power Series** gives the power series

** Fourier** does the Fourier series viz F(z)=Sum[1,∞](a(n)exp(2π

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.

*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
, Mobius function
and Mangoldt function

The ** Mobius** function

http://en.wikipedia.org/wiki/Mobius_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.

**z****Zeta(****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

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

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] full terms+2*dZ+4*Mellin [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[

** Abstract L-functions:** you can upload an abstract zeta/L function using the character period length

.

You can explore abstract* L*-function fractal sets, save an image and parameter file. You can then load the parameters for the image later after making sue you have first loaded the correct *L*-function and the existing abstract function will continue to operate.

.

If the abstract *L*-function has 2 gamma factors of 0 and 1 respectively and Mellin is set, RZViewer will also use the Mellin transform for a modular form (or elliptic curve) in the region 0≤*x*≤*w*, -8≤*y*≤8 to improve fidelity in the central basin. This is useful for considering the Birch and Swinnerton-Dyer conjecture. Finally with version 1.7.3 a general Dokchitser type gamma function inverse Mellin transform routine has been instituted for arbitary *L*-functions which is currently experimental, but works successfully on the genus 2 and 3 examples. To activate this ** fullterms** needs to be set to 4 in the parameter file. In both the modular and general cases, if the number of gamma factors is given a negative sign, the three terms after weight (or the shift factor with -996) will be the height and width of a Mellin transform window and the residue of any pole singularity at

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.

*
N*=57 modular forms have a five-dimensional echelon basis (right) . There are three *newforms *(left) corresponding to elliptic curve *L*-functions *e*57*a*, *e*57*b*, and *e*57*c*. We also have the Hecke eigenforms *e*19*a* and its 'harmonic' 3^{-z}*e*19*a*, which is equivalent to the third echelon basis function 38*m*2.

** Bitmaps:** You can both save and load bitmaps as well as parameter files and tiff images. You can save whole bitmaps as text files by using color option 5 and selecting the Save Bitmap menu item. This makes it possible to generate

.

The Sage file in the 57 folder shows the information to form the matrix expressing 57a, 57b, 57c, 19a and 19ax3 in terms of 57m0-4 and its inverse, thus enabling us to express the basis elements in terms of the elliptic curve eigenfunctions.

.

To regenerate the bitmaps:

1: In RZViewer, load one of the above parameter files for the elliptic curves in the parameter file folder in 57, turn on full terms and open the advanced drawer.

2: Slide the window to downsize it to the smallest possible to avoid overflowing bitmap memory on reload.

3: Set color mode to 5 and set scale e.g. to 25 and click **Set X,Y,S**.

4: When the window has refreshed with the *L*-function profile, save the bitmap under the same name as the parameter file - e.g. "57a.txt".

5: Do the same for each of the 5 files.

6: Put all the o files in a folder along with merge57e.c open terminal and cd to the folder, then execute "gcc -o rzo merge57e.c -lm && ./rzo". The merge script is already set to use the input filenames you have defined.

7: Rename the output file to something like 57m0.txt

8: Run the same c script again setting opt to 0 - 4 to generate 57m0.txt to 57m4.txt.

9: Upload each of these into RZViewer one at a time using Load Bitmap to view the results and save as required to get tiffs.

** 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 anomalous 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 1518898th 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);

}