Julia Sets Last update=15 Feb, 2018
Download JuliaSets (updated Feb 15, 2018) Some screenshots of various fractals are shown, including some Julia sets and the Mandelbrot set. JuliaSets is software that calculates these. As this is computationally intensive, eight simultaneous threads are used. It is advantageous to have a computer with multiple cores.
These images are constructed as follows. A function f(z) of a complex variable z is chosen, eg. f(z)=z^{2}+c, where c is a constant. A starting value z_{0} is chosen, and the function is iterated.
In practice it is difficult to determine the Julia set for most functions f(z). A region of the complex plane is chosen, eg., the square region with corners [2+2i, 22i]. A bitmap is constructed for this region, with each pixel in the bitmap corresponding to a point of the complex plane belonging to the region. A maximum modulus M > 0 is chosen, and a maximum number N of iterations is chosen. The function is iterated beginning from each complex z_{0} which corresponds to a pixel of the bitmap. If after N iterations, the value z_{n} < M, it is assumed that the iterations will be bounded. z_{0} is assumed to be in the prisoner set, and the pixel corresponding to z_{0} is coloured black. But if z_{n} > M after n iterations, where n < N, it is assumed that the iterations will be unbounded, ie., that z_{0} is in the escape set. The pixel corresponding to z_{0} is then assigned a colour according to n. For the Mandelbrot set, we always take z_{0}=0, and the constant c is varied within the region of the complex plane. For the Julia sets, c is fixed, and z_{0} is varied within the region. Braverman and Cook [Notices of the AMS 53, #3, March 2006, "Computing over the reals: foundations for scientific computing"] suggest that the Mandelbrot set could be used as a foundation for a rigorous theory of computing with floating point numbers. They suggest that every program that constructs the Mandelbrot set must have some incorrect pixels. The sofware JuliaSets constructs the Mandelbrot set, as well as Julia sets for various functions f(z). The constant c can be varied, as can M and N, and it can zoom in to see finer and finer detail.
