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.
- type Angle = Rational
- double :: Angle -> Angle
- wrap :: Angle -> Angle
- data Knead
- data Kneading
- kneading :: Angle -> Kneading
- period :: Kneading -> Maybe Integer
- unwrap :: Kneading -> [Knead]
- data InternalAddress = InternalAddress [Integer]
- internalAddress :: Kneading -> Maybe InternalAddress
- associated :: Kneading -> Maybe (Kneading, Kneading)
- upper :: Kneading -> Maybe Kneading
- lower :: Kneading -> Maybe Kneading
- internalFromList :: [Integer] -> Maybe InternalAddress
- internalToList :: InternalAddress -> [Integer]
- data AngledInternalAddress
- angledInternalAddress :: Angle -> Maybe AngledInternalAddress
- angledFromList :: [(Integer, Maybe Angle)] -> Maybe AngledInternalAddress
- angledToList :: AngledInternalAddress -> [(Integer, Maybe Angle)]
- externalAngles :: AngledInternalAddress -> Maybe (Rational, Rational)
- stripAngles :: AngledInternalAddress -> InternalAddress
- parse :: String -> Maybe AngledInternalAddress
Elements of kneading sequences.
The period of a kneading sequence, or
Nothing when it isn't periodic.
Internal addresses are a non-empty sequence of strictly increasing integers beginning with '1'.
InternalAddress from a kneading sequence.
A star-periodic kneading sequence's upper and lower associated kneading sequences.
Construct a valid
InternalAddress, checking the precondition.
Angled internal addresses have angles between each integer in an internal address.
The angled internal address corresponding to an external angle.
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.
Discard angle information from an internal address.