# Mandelbrot Code

# 1 Languages

The libraries below have parts implemented in C and Haskell, with varying degrees of completeness.

# 1.1 C

make -C c/lib install && make -C c/bin install

mandelbrot-numerics is most complete, with standalone programs for most functions for use from the shell, and arbitrary precision support. Includes external ray tracing with adaptive precision.

mandelbrot-symbolics is very incomplete.

# 1.2 Haskell

Most parts work with Hugs, though GHC may be more performant.

mandelbrot-prelude re-exports most of the other libraries, so a single import Mandelbrot.Prelude may be enough for most uses. Within mandelbrot-prelude/, run ./hugs.sh or cabal repl to get an interpreter session with everything included.

mandelbrot-symbolics is most complete. Includes conversion between angled internal addresses and external angles.

mandelbrot-numerics has no explicit use of arbitrary precision, but can nevertheless be used with high precision numeric types from libraries like compensated or rounded. Misses external ray tracing so far.

# 2 Libraries

# 2.1 mandelbrot-numerics

https://code.mathr.co.uk/mandelbrot-numerics

git clone https://code.mathr.co.uk/mandelbrot-numerics.git

A library of numerical algorithms.

# 2.2 mandelbrot-graphics

https://code.mathr.co.uk/mandelbrot-graphics

git clone https://code.mathr.co.uk/mandelbrot-graphics.git

A library of graphical algorithms. No deep zoom (double precision only).

# 2.3 mandelbrot-symbolics

https://code.mathr.co.uk/mandelbrot-symbolics

git clone https://code.mathr.co.uk/mandelbrot-symbolics.git

A library of symbolic algorithms.

Mandelbrot symbolics in the browser (2016)

# 2.4 mandelbrot-text

https://code.mathr.co.uk/mandelbrot-text

git clone https://code.mathr.co.uk/mandelbrot-text.git

Parsing and pretty-printing (for mandelbrot-symbolics Haskell).

# 2.5 mandelbrot-prelude

https://code.mathr.co.uk/mandelbrot-prelude

git clone https://code.mathr.co.uk/mandelbrot-prelude.git

Convenience wrapper for the Haskell libraries above. See the mandelbrot-prelude page.

# 3 Applications

# 3.1 mandelbrot-perturbator

See: m-perturbator-gtk

# 3.2 Fraktaler 3

Fraktaler 3 is under development. With a focus on hybrid fractals, other software may be more efficient for deep zooms of the Mandelbrot set.

# 3.3 Kalle’s Fraktaler 2 +

Kalle’s Fraktaler 2 +, my fork of Kalle’s Fraktaler, a fast deep zoomer for escape time fractal graphics like the Mandelbrot set and Burning Ship, is probably my most widely used software for fractals. For Windows, works in Wine. For i686 and x86_64 architectures. No longer updated. The effort required to implement the new bilinear approximation acceleration technique for all the formulas is too large.