# Fractals/Iterations in the complex plane/tsa

Algorithm for computing images of polynomial Julia sets with mathemathical guarantees against sampling artifacts and rounding errors in floating points arithmethic.

# name

[edit | edit source]- True Shape Algorithm ( TSA)

# theory

[edit | edit source]algorithm computes a decomposition of the complex plane into three regions:

- a white region, which is contained in exterior of Julia set
- a black region, which is contained in the interior of Julia set
- a gray region, which cannot be classified as white or gray. It is a region which contains julia set J

It gives adaptive approximation of the Julia set. Spatial resolution limited by available memory.

K is contained in the escape circle of radius R = max(|c|, 2) centered at the origin,

**Image that is 100% guaranteed correct**:^{[1]}

- white pixels are guaranteed to contain no interior or boundary points
- black pixels are guaranteed to contain only interior points
- red pixels have not been able to be decided at the current resolution (they might contain both interior or boindary and exterior points).

Unfortunately in practice the images have a lot of red pixels. It means that this algorithm is for proving that images are mathemathically correct. Point-sampling method is for creating images. If one sees that image is not smooth ( boundaries of components are smooth curves) then takes a bigger resolution ( subpixel accuracy) to get proper = smooth image. If one take good point sampled image, then TSA algorithm will not find a wrong pixel in it.

# key words

[edit | edit source]- complex plane
- region = union of the cell with the same label
- cell = rectangle in the complex plane

- tree
- quadtree

- graph
- directed graph
- cell graph that represents the cell mapping

- IA = Interval Arithmetic
^{[2]} - dyadic fraction : working with exactly double-representable numbers by using a near dyadic fraction

# algorithms

[edit | edit source]- goal of the algorithm is mathematical correctness of the image
- the price is slow and not beatiful images. TSA is very slow and not suitable for creating images with aesthetic appearance.
- algorithm is designed for for Julia sets

algorithm avoids :

- point sampling ( 1-pixel aproximation): what happens between samples ?
- function iteration in the escape-time algorithm ( do not use it)
- Floating-point rounding errors ( squaring needs double digits )
^{[3]} - partial orbits ( program cannot run forever)

Main features of the algorithm:

- "cell mapping to reliably classify entire rectangles " in the complex plane, not just a finite sample of points
- "it handles orbits by using color propagation in graphs induced by cell mapping" = "tracks the fate of complex orbit by inspecting the directed graph induced by cell mapping"
- "The numbers processed by the algorithm are dyadic fractions that are restricted in range and precision and the algorithm uses error-free fixed-point arithmetic whose precision depends only on the spatial resolution of the image. "

## decomposition

[edit | edit source]a quadtree decomposition of the complex plane

## refine

[edit | edit source]adaptive refinement = Subdivide each gray leaf cell into four new gray subcells

## cell mapping

[edit | edit source]- Simple Cell Mapping (SCM)
- Generalized Cell Mapping (GCM)
^{[4]}

## label propagation

[edit | edit source]- label propagation in graph

# code

[edit | edit source]- C++ code by Marc Meidlinger, July-October 2019
- Haskell code by Claude
- CMlib is a library of cell mapping algorithms and utility functions and classes written in c++ by Gergely Gyebroszki

# People

[edit | edit source]# Papers

[edit | edit source]- "Images of Julia sets that you can trust" by Luiz-Henrique de Figueiredo, Diego Nehab, Jofge Stolfi, Joao Batista Oliveira- 2013
^{[5]}^{[6]} - "Rigorous bounds for polynomial Julia sets" by Luiz-Henrique de Figueiredo, Diego Nehab, Jofge Stolfi, Joao Batista Oliveira

# Video

[edit | edit source]# references

[edit | edit source]- ↑ fractalforums.org : determining-optimal-iterations-to-skip-with-series-approximation
- ↑ Interval arithmetic in wikipedia
- ↑ Images of Julia sets that you can trust from Palis-Balzan Int Symposium
- ↑ flacco-tutorial gcm
- ↑ Images of Julia sets that you can trust by LUIZ HENRIQUE DE FIGUEIREDO. DIEGO NEHAB, JOAO BATISTA OLIVEIRA
- ↑ Images of Julia sets that you can trustby Luiz Henrique de Figueiredo oktobermat