Movatterモバイル変換


[0]ホーム

URL:


ruff-0.2: relatively useful fractal functions

Portabilityportable
Stabilityunstable
Maintainerclaudiusmaximus@goto10.org

Fractal.RUFF.Mandelbrot.Address

Description

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

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

Synopsis

Documentation

typeAngle =RationalSource

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

double ::Angle ->AngleSource

Angle doubling map.

wrap ::Angle ->AngleSource

Wrap an angle into [0, 1).

prettyAngle ::Angle ->StringSource

Convert to human readable form.

prettyAngles :: [Angle] ->StringSource

Convert to human readable form.

dataKneadSource

Elements of kneading sequences.

Constructors

Zero 
One 
Star 

Instances

BoundedKnead 
EnumKnead 
EqKnead 
DataKnead 
OrdKnead 
ReadKnead 
ShowKnead 
TypeableKnead 

kneadChar ::Knead ->CharSource

Knead character representation.

dataKneadingSource

Kneading sequences. Note that theAperiodic case has an infinite list.

Constructors

Aperiodic [Knead] 
PrePeriodic [Knead] [Knead] 
StarPeriodic [Knead] 
Periodic [Knead] 

Instances

EqKneading 
DataKneading 
OrdKneading 
ReadKneading 
ShowKneading 
TypeableKneading 

prettyKneading ::Kneading ->StringSource

Kneading sequence as a string. TheAperiodic case is truncated arbitrarily.

kneading ::Angle ->KneadingSource

The kneading sequence for an external angle.

period ::Kneading ->MaybeIntegerSource

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

unwrap ::Kneading -> [Knead]Source

Unwrap a kneading sequence to an infinite list.

associated ::Kneading ->Maybe (Kneading,Kneading)Source

A star-periodic kneading sequence's upper and lower associated kneading sequences.

upper ::Kneading ->MaybeKneadingSource

The upper associated kneading sequence.

lower ::Kneading ->MaybeKneadingSource

The lower associated kneading sequence.

dataInternalAddressSource

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

Constructors

InternalAddress [Integer] 

Instances

EqInternalAddress 
DataInternalAddress 
OrdInternalAddress 
ReadInternalAddress 
ShowInternalAddress 
TypeableInternalAddress 

prettyInternalAddress ::InternalAddress ->StringSource

Internal address as a string.

internalAddress ::Kneading ->MaybeInternalAddressSource

Construct anInternalAddress from a kneading sequence.

internalFromList :: [Integer] ->MaybeInternalAddressSource

Construct a validInternalAddress, checking the precondition.

internalToList ::InternalAddress -> [Integer]Source

Extract the sequence of integers.

dataAngledInternalAddressSource

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

Constructors

UnangledInteger 
AngledIntegerAngleAngledInternalAddress 

Instances

EqAngledInternalAddress 
DataAngledInternalAddress 
OrdAngledInternalAddress 
ReadAngledInternalAddress 
ShowAngledInternalAddress 
TypeableAngledInternalAddress 

prettyAngledInternalAddress ::AngledInternalAddress ->StringSource

Angled internal address as a string.

angledInternalAddress ::Angle ->MaybeAngledInternalAddressSource

The angled internal address corresponding to an external angle.

angledFromList :: [(Integer,MaybeAngle)] ->MaybeAngledInternalAddressSource

Builds a validAngledInternalAddress from a list, checking the precondition that only the last 'Maybe Angle' should beNothing, and theInteger must be strictly increasing.

angledToList ::AngledInternalAddress -> [(Integer,MaybeAngle)]Source

Convert anAngledInternalAddress to a list.

externalAngles ::AngledInternalAddress ->Maybe (Rational,Rational)Source

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

stripAngles ::AngledInternalAddress ->InternalAddressSource

Discard angle information from an internal address.

splitAddress ::AngledInternalAddress -> (AngledInternalAddress, [Angle])Source

Split an angled internal address at the last island.

joinAddress ::AngledInternalAddress -> [Angle] ->AngledInternalAddressSource

The inverse ofsplitAddress.

addressPeriod ::AngledInternalAddress ->IntegerSource

The period of an angled internal address.

parseAngle ::String ->MaybeAngleSource

Parse an angle.

parseAngles ::String ->Maybe [Angle]Source

Parse a list of angles.

parseKnead ::String ->MaybeKneadSource

Parse a kneading element.

parseKneading ::String ->MaybeKneadingSource

Parse a non-aperiodic kneading sequence.

parseInternalAddress ::String ->MaybeInternalAddressSource

Parse an internal address.

parseAngledInternalAddress ::String ->MaybeAngledInternalAddressSource

Parse an angled internal address, accepting some unambiguous abbreviations.

Produced byHaddock version 2.9.2


[8]ページ先頭

©2009-2025 Movatter.jp