ruff-0.3.2.1: relatively useful fractal functions

Portability portable unstable claudiusmaximus@goto10.org Safe-Inferred

Description

External angles give rise to kneading sequences under the angle doubling map. Internal addresses encode kneading sequences in human-readable form, when extended to angled internal addresses they distinguish hyperbolic components in a concise and meaningful way.

The algorithms are mostly based on Dierk Schleicher's paper Internal Addresses Of The Mandelbrot Set And Galois Groups Of Polynomials (version of February 5, 2008) http://arxiv.org/abs/math/9411238v2.

Synopsis

# Documentation

type Angle = RationalSource

Angle as a fraction of a turn, usually in [0, 1).

Angle doubling map.

Wrap an angle into [0, 1).

prettyAngles :: [Angle] -> StringSource

Constructors

 Zero One Star

Instances

Kneading sequences. Note that the Aperiodic case has an infinite list.

Constructors

Instances

Kneading sequence as a string. The Aperiodic case is truncated arbitrarily.

The kneading sequence for an external angle.

The period of a kneading sequence, or Nothing when it isn't periodic.

Unwrap a kneading sequence to an infinite list.

Internal addresses are a non-empty sequence of strictly increasing integers beginning with '1'.

Constructors

Construct a valid InternalAddress, checking the precondition.

Extract the sequence of integers.

Angled internal addresses have angles between each integer in an internal address.

Constructors

 Unangled Integer Angled Integer Angle AngledInternalAddress

Angled internal address as a string.

The angled internal address corresponding to an external angle.

Builds a valid AngledInternalAddress from a list, checking the precondition that only the last 'Maybe Angle' should be Nothing, and the Integer must be strictly increasing.

Convert an AngledInternalAddress to a list.

The pair of external angles whose rays land at the root of the hyperbolic component described by the angled internal address.

Split an angled internal address at the last island.

The period of an angled internal address.

Parse an angle.

Parse a list of angles.