Thursday, January 14, 2010

Visualizing the Fractal Dynamics of Riemann Zeta

Zeta, its Mandelbrot set, the root Julia set of c=0 and the Julia set of Newton's method, converging to the zeta zeros.

I have just develped a natty research application for Mac using XCode, which is a state of the art viewer and analytical tool for investigating the notorious Riemann zeta function and its Mandelbrot and Julia sets. You can download and explore this viewer and its source code and related research at:
http://www.dhushara.com/DarkHeart/

Thanks to Mike Lewinski (see comments) who noticed it was not working in Snow Leopard this application and the other three associated fractal applications, including the twin application DHViewer which looks at the dynamics of rational and transcendental complex functions now should all be working in all systems from Tiger to snow Leopard.

RZViewer contains all the bells and whistles in terms of interactive menus check boxes and input and output necessary to manipulate and investigate the Riemann zeta function and its fractal properties and those of a spectrum of related Dirichlet L-functions which share the same enigmatic zeros.


These are very strange functions, unlike the trigonometric, exponential, logarithmic, rational and polynomial functions we are used to dealing with in calculus. They require massive computation and are complicated to program as they are represented as infinite series and products of complex numbers, so it was somewhat of a victory to find that the coding could be done directly using the gcc C library complex.h.

The viewer exposes in ultra-fast code many features of these functions which have not to my knowledge been explored before. Many of the images are intriguingly different from the fractal sets of standard functions we are more used to, although they do share some universal fractal properties.

3 comments:

Oroboros said...

Hi Chris,

I'm trying out RZViewer but only see a blank white screen when I first start up & nothing I poke on the UI will cause any rendering. Is this expected and maybe I need to open something from the File menu? I'm on the latest 10.6 Snow Leopard, and have Xcode so I tried building and got:

[BEROR]error: There is no SDK with the name or path '/Developer/SDKs/MacOSX10.4u.sdk'

I'm grabbing a fresh copy of the Xcode installer as I vaguely recall seeing that SDK as an option I chose not to originally install.

But I figured I'd at least check in and see if I'm just doing something wrong with the binary.

Mike

Dhushara said...

Hi,

Sounds like you are trying to recompile and you don't have the Tiger sdk, which was my default because I'm still using Tiger, but this shouldn't stop the app working on Snow Leopard if Apple is doing its upward compatibility job correctly

To recompile for Snow Leopard, you should be able to open the information panel in XCode and reset the sdk to your Snow Leopard version and then recompile the source code.

Open the project in XCode. Click the main project and go to the "i" information panel and under general select the sdk for your OS.
This will cause a recompile to Snow Leopard which should produce a running compilation for you.

I haven't run my compiled app in Leopard or Snow Leopard so I'm interested in any problems you had, both with the application and the source compilation.

I've just uploaded version 6 which has several additional features including image saving, so why not download that and let me know if it compiles smoothly once you set the sdk to the newer version.

If my tiger app doesn't run on your snow leopard and your compile does come through fine, do send me your snow leopard version and I'll make it available.

I also have a companion Dark Heart viewer which does all the complex functions from polynomials through to transcendentals which I will also make available as soon as I've made a web page to cover it.

Chris

Dhushara said...

Actually Mike was right. There is a fundamental change in Snow Leopard which means that graphics bit maps are stored away from the programmer to upload into graphics cards, so the Tiger version was initially just drawing the first blank white screen and failing to take up any subsequent draws of the functions and fractals.

For those of you into XCode, see:
http://lists.apple.com/archives/Cocoa-dev/2009/Sep/msg02031.html