Arek Goetz's PET
This notebook works through an example of a polygon exchange transformation (PET) studied by Arek Goetz in the article ``A self-similar example of a piecewise isometric attractor.''
Number theoretic setup
Sage has built in support for number fields. We will make use of the NumberField class to define our objects.
Sage has some support for symbolic mathematics (which unfortunately is quite slow for serious calculation). The following few lines give symbolic values of and where
Observe we can recover as a polynomial expression of .
In Sage AA
is the field of algebraic real numbers. We can convert a symbolic expression for an algebraic number to an algebraic number.
Rather than work with AA
, we prefer to work in a NumberField
because it is faster. To think about why, consider that AA
can work with all algebraic real numbers. Roughly an algebraic real number must be stored as a polynomial for which the number is a root, and an interval isolating the interval from the other roots. Now consider what must occur when you add two algebraic numbers.
We can get the minimal polynomial of .
The following defines K
to be the field and defines s
to be the value in that number field. The embedding parameter below tells Sage that this is not just a numberfield, but a subfield of obtained by sending the generator to sin_alpha_AA
.
For sanity check that cos_alpha
really is .
Defining the map
In Sage AA
is the field of real algebraic numbers, i.e., Define the 2-dimensional vector space V
with entries in the field AA
.
We plot the two pictures side by side to show the implicit piecewise rotation:
This just labels the points we have been discussing and the polygons and replots the picture above. I used this in my notes.
The following generates the pictures above as SVG documents.
The piecewise isometry is defined by two rotations. The first is a rotation by degrees and sends B
to A
.
Check that it acts as we expect on our triangle and points:
The second is a rotation by degrees sending B
to C
.
Check that it acts as we expect on our triangles and points:
This defines the transformation we are considering:
The following code computes T-orbits of points.
We will compute the orbit of the following point:
Here are the first 10 points in the T-orbit.
Now we compute the first 1000 points and plot them.
The following code now allows T
to apply to both vectors and Polyhedra.
For example, we can now compute the image of triABD
.
It would be nice also to be able to use the inverse of T, so we work it out below:
This is a convienience function to evaluate :
Symbolic Dynamics
We can compute the code of the point visually below. Observe it is
The following computes the cell .
The image of under will be called TY11
. In the notes this is also . Observe that returns under one iteration to region .
The following computes the cell .
We'll denote the image of under by TY10
. In the notes this was .
We'll denote the image of under by T2Y10
. In the notation in the notes this is , because all points of move into region under .
We'll denote the image of under by T3Y10
. In the notation in the notes this is , because all points of move into region under . Observe that region returns to region .
We can now see the first return map to .
The renormalization
The orientation reversing similarity carries to . This means it carries the vector to . This gives two entries of the matrix (which is a matrix independent of the point at which it is evaluated because is a similarity).
The other entries of the matrix follow because it is an orientation reversing similarity.
Since carries to we know that gives the translational part. Thus we can define:
We check that acts correctly on the vertices.
We will now check that the renormalization works:
We observe that the similarity scales distances by the golden mean:
The following gives .
Periodic orbits
The yellow pentagon in the above image can be seen to be the points that stay forever in region . This is the region consisting of points whose codes consist of zeros forever. We observe that having a code in the cylinder set is sufficient to lie in this pentagon. The following computes the region denoted in the notes. We check that the cell is fixed by . (This means that the center is fixed, while other points cycle around with period .)
We can construct new peridic pentagons by applying . The following constructs the first six periodic pentagons like this by choosing
We plot the pentagons we found: