Elementary fractal geometry. Networks and carpets involving irrational rotations

Self-similar sets with open set condition, the linear objects of fractal geometry, have been considered mainly for crystallographic data. Here we introduce new symmetry classes in the plane, based on rotation by irrational angles. Examples without characteristic directions, with strong connectedness and small complexity were found in a computer-assisted search. They are surprising since the rotations are given by rational matrices, and the proof of the open set condition usually requires integer data. We develop a classification of self-similar sets by symmetry class and algebraic numbers. Examples are given for various quadratic number fields. .


Introduction
Self-similar sets and open set condition. A self-similar set is a nonempty compact subset A of R d which is the union of shrinked copies of itself. This is expressed by Hutchinson's equation Here F = {f 1 , ..., f m } is a finite set of contractive similarity mappings, often called an iterated function system, abbreviated IFS. Recall that a contractive similarity map from Euclidean R d to itself fulfils |f (x) − f (y)| = r f |x − y| where the constant r f < 1 is called the factor of f. To keep things simple, we assume that all maps in F have the same factor r. For a given IFS F = {f 1 , ..., f m } there is a unique self-similar set A which is often called the attractor of F. See [12,13,20] for details. Figure 1 shows standard examples with factor 1 2 , 1 3 , and 1/7, respectively.
The idea of equation (1) is that A subdivides into m 2 pieces f k 1 f k 2 (A) of second level, and into m n pieces f w (A) of level n, where w = k 1 ...k n runs through all words of length n with letters from the alphabet K = {1, ..., m}. Thus we have a homogeneous structure of little pieces, and we can define a uniform measure on A by assigning each pieces of level n the value m −n .
In 1946, Moran [39] constructed the uniform measure on A as normalized Hausdorff measure of dimension α where mr α = 1. He needed a condition, the so-called open set condition, or OSC for short: There is an open U so that the image sets f 1 (U ), ..., f m (U ) are disjoint subsets of U.
(2) In Figure 1, U can be taken as an open triangle, a square, and the interior of the set A, respectively. It has turned out that without open set condition, the compact set A does not have a nice local structure. The number of sister pieces in the vicinity of a piece of level n will tend to infinity with n if OSC does not hold [6,45,13]. However, self-similar sets play a similar part in fractal geometry as lines in ordinary geometry. The concept of self-similarity is that after sufficient magnification, the view of A will repeat and should not become infinitely dense. That is why OSC is required. In the literature we find mainly examples like Figure 1 where the open set can be easily constructed.
The aim of this paper. Sierpiński constructed his triangle and carpet more than 100 years ago as topological spaces with curious properties [36]. After 1980, physicists took them as models of porous materials, and mathematicians developed an analysis of heat equation, Brownian motion, and eigenvalues of the Laplace operator on just these spaces. See the books by Kigami and Strichartz [31,51] for an introduction, and the literature cited there. However, both examples have special properties which are rarely met in nature: • They have a few characteristic directions.
• They contain line segments.
• Their holes have small perimeter compared to their area.
Moreover, Sierpiński's triangle and the related p.c.f. fractals [31,51] have cutpoints (see Section 4) and resemble networks more than porous materials. The vector space of harmonic functions on such spaces is finite-dimensional. The topology of the carpet is definitely more realistic and interesting, but also hard to study.
Nowadays, complex geometric structures are studied in nearly every active area of science: cell biology, the brain, soil and roots, foam, clouds, dust, nanostructures etc. Therefore we think that fractal geometry should diversify its models. In this paper we show that this is possible, even within the framework of equation (1) with equal contraction factors in the plane. This is a beginning. We hope to study more general cases in a subsequent paper.
Here we construct carpets based on non-crystallographic IFS data which • have no characteristic directions and an isotropic type of symmetry, • contain no line segments, and • have holes with large perimeter and rather complicated shape.
In statistical physics, much more complicated random fractals were introduced by Sheffield and Werner [47]. Their conformal loop ensemble is a probability space of fractal shapes which is invariant not only under particular similitudes, but under arbitrary conformal maps. Instances of the ensemble are hard to imagine and still harder to visualize. Concrete examples in this paper can be seen as a step from Figure 1 to such abstract models.
We shall focus on carpets with small complexity, for which there is a chance to develop fractal analysis. In the next paragraphs, we sketch an approach to complexity of self-similar sets. We define the neighbor graph of an IFS, the automaton which generates the topology of A. The number of states of the automaton is taken as complexity.
Algebraic OSC. There is an algebraic equivalent for the open set condition, formulated explicitly in terms of the IFS F [6,13].
F generates a free semigroup F * , and id is an isolated point in F * −1 F * . (3) The first part of this condition says that two n th level pieces f w (A) and f v (A) will not coincide, for arbitrary n. This part is not essential for our concept of self-similarity, and a weak separation condition WSC was defined by assuming only the second part of condition (3) [55,41,32,16]. However, in that case we would have to control pieces which appear once, twice, or n times, and we want to keep things simple. The second part of (3) says that the maps h = f −1 w f v stay away uniformly from the identity map, so that pieces f w (A) and f v (A) do not come arbitrary near to the same position, for any level n. Like OSC, this is an accurate formulation of the vague statement that "the overlap of two different pieces is not too large".
Things become simpler when we go to a discrete setting. We assume that there is a matrix M associated with our iterated function system F on R d so that each f k in F has the form We can now assume that v is an integer vector and M, s k are integer matrices which commute with each other. Then we have to check only finitely many maps h = f −1 w f v , and the second part of condition (3) will follow from the first one [6,13,55]. Equation (4) is a strong assumption, however. To get similarity maps, M must fulfil M ·M = 1 r · I where I denotes the unity matrix. And even if we assume that M commutes only with the whole group generated by the s k , as in Theorem 2 of [3], there are only a few choices of integer maps s k . On the positive side, however, we have the fact that all calculations are done in integer arithmetics and thus the check of the OSC is accurate. It was implemented in the In such cases, several magnifications are necessary to reveal the local structure. The data for this IFS come from a crystallographic group with 60 o rotations.
package IFStile [38] and has led to thousands of new examples with surprising properties. A few of them, tightly related to the Sierpiński triangle in Figure 1, were discussed in [8].
Another example is given in Figure 2. Since an open set in such examples consists of infinitely many components (cf. [8]), the local structure of such examples cannot be seen from a global picture of the set A. Usually we need various magnifications of the set in order to understand the local structure. The number of pictures which we need can be seen as a measure of complexity of the self-similar set.
Neighbor complexity. As a rigorous concept of complexity, we take the number of neighbor maps. Consider the map h = f −1 w f v where w, v ∈ K n denote different words of length n from the alphabet K. It is an isometry. We call h a neighbor map or neighbor type if the corresponding pieces of A intersect: f w (A) ∩ f v (A) = ∅. The number of neighbor types will be taken as the complexity of the IFS F. If the number is finite, we say that F is of finite type. As a consequence, OSC is fulfilled: a special open set was constructed in [7].
The neighbor map h = f −1 w f v represents the relative position of the intersecting pieces f w (A) and f v (A). However, h does not map the pieces into each other. This is done by the map g = f v f −1 w . The neighbor map h always maps A to a potential neighbor h(A) in some 'superpiece'. Constructions with larger and larger pieces are familiar in the theory of self-similar tilings, see for instance [26,46,2]. The maps h and g are conjugate: But g depends on the size of the pieces while h is standardized and does not depend on the level n.
Suppose the Sierpiński carpet in Figure 1 is realized in the complex plane, in a square with vertices 0, 1, 1 + i, i. Then the neighbor maps will be translations h(x) = x + v with v ∈ {±1, ±i} for neighbors with a common edge. For neighbors with a common vertex, we have the translation vectors v ∈ {±(1 + i), ±(1 − i)}. So the Sierpiński carpet has 8 neighbor types. The square as a self-similar set with m = k 2 pieces forming a k × k checkerboard pattern has the same neighbor types. Thus to distinguish different k we need other measures of complexity. The Sierpiński triangle has 6 neighbor types, two for each of its vertices. The tile in Figure 1 has 11 types and the example in Figure 2 has 52.
With the concept of neighbor type, we provide a quantitative version of the open set condition. In fact we are not interested in the question "OSC or not OSC". We rather want to find examples of small complexity which we can understand. At present, an IFS with 1000 neighbor types can hardly be distinguished from an IFS without OSC.
Given an IFS (4) with integer vectors and matrices, the question whether there are at most N neighbor types is decidable in finite time for every N. One of the authors has written the program IFStile [38] which decides this question within milliseconds for N ≤ 500. The algorithm, discussed in Section 3, constructs the neighbor graph of F, an automaton which describes geometric and topological properties of the set A.
However, when we assume integer matrices, we are in the setting of crystallographic groups. In the plane, symmetries must be rotations by multiples of 30 degrees, or reflections, the axes of which differ by angles of k · 15 degrees. Besides Figure 1, this includes Figure 2 where we have no reflection, only rotation by 60 o and 180 o . Nevertheless, this setting is rather restrictive. Approaches to non-crystallographic patterns. There are various ways to generalize crystallographic finite type systems. One way is projection of integer data from a higherdimensional space, known from quasiperiodic tilings used for modelling quasicrystals [46,2]. This is implemented in IFStile. Another possibility is to replace the equation (1) by a system of equations for different types of sets, which is called a graph-directed construction [37]. In their study of self-similar tilings, Thurston, Kenyon, and Solomyak [53,30,50]. studied graphdirected systems without any symmetries. They assume that there are finitely many tiles up to translation. This approach includes the case of rotations by rational angles -rational multiples of 360 o . A self-similar set A with pieces rotated by multiples of 60 o , as Figure 2, can be generated by a translationally finite graph-directed system of six sets without considering rotations.
In this approach all neighbor maps are translations, and since all matrices are powers of a basic matrix M, their product is commutative. For self-similar tilings only few examples are known outside this setting [42,15,22,10]. For self-similar fractals, however, we are going to present plenty of examples which are not translationally finite. Contents of the paper. In the translationally finite case as well as in self-similar sets with crystallographic data, including those which are projected from higher-dimensional lattices, all motives appear in a finite number of directions. Here we construct fractals with a dense set of characteristic directions, in other words, with no characteristic directions at all. Figures 3  and 4 give a first impression of our patterns. We replace integer data by rational data, where no theorems guarantee the existence of finite type examples, except for trivial cases like Cantor sets. We performed an extensive computer search, checking some hundreds of millions of IFS, and present selected results.
After stating our basic assumptions in Section 2, we introduce the main tool, the neighbor graph of an IFS, in Section 3. Its topological applications are listed in Section 4 while Section 5 discusses an algebraic viewpoint and an open problem. The search leading to Figures 3 and 4, based on Pythagorean triples, is described in Section 6. We briefly discuss the search on the hexagonal lattice in Section 7 and introduce a classification of planar self-similar sets in Section 8. This leads to a very convenient concept of an algebraic planar IFS which saves all matrix calculations. In Section 9, a family of IFS is given by a characteristic polynomial and some linear relations between expansion maps and symmetries. It turns out that the polynomial describes an algebraic number field. In the final Section 10 we discuss the search for examples in different quadratic number fields.
Motivation. Beside the potential of isotropic fractals for modelling in science, there are various mathematical reasons for this research. One is pure curiosity: to see what is beyond crystallographic symmetries. Another motivation is to show that our approach with symmetries is much wider than the translationally finite setting. Moreover, fractals without characteristic directions show some measure-theoretic uniformity. They have "statistical circular symmetry", as certain quasiperiodic tilings, and physical materials of this type show a diffraction spectrum of rings [42,22]. Their projections onto lines possess the same dimension for every direction while in general we have an exceptional set of directions with smaller dimension. Further uniformity properties were proved mainly by Shmerkin and coauthors, see [21,28,49,48]. Here we construct concrete examples of such sets which also have nice topological properties.
2 Basic assumptions and a simple example Basic assumptions. We recall the basic equations (1) and (4): In standard coordinates, the s k should be linear isometries, given by orthogonal matrices. The map g(x) = M x should be an expanding similarity map, so that we can write equation (5) as Moreover, the maps must have a discrete structure to apply integer arithmetics. We assume that with respect to a common base B = {b 1 , b 2 } M and the matrices of the s k contain rational numbers, and the v k are integer vectors. (6) The condition (5) or (5a) together with (6) is our basic assumption. Note that B need not be the standard base. It is needed to determine the combinatorial structure of the IFS. Using rational numbers with a bounded denominator, this calculation will be accurate. The transformation from base B to the standard base, and the visualization of the set A in standard coordinates, are done by floating point arithmetics with numerical error. In the following sections, B will be the standard base. In Sections 7-10 we shall consider other bases.
An example with irrational rotation. Before we discuss the difficulties with the base B, we consider examples where the standard base can be taken as B. Let The map s is a rotation with irrational angle, as shown in proposition 6 below. We wonder whether an IFS with rotation s between the pieces can have a nice connected attractor. A tile, as on the right of Figure 1, seems not possible. Thus we would like to have at least something like the Sierpiński carpet. Let us note that a fractal tiling with irrational rotations was found in [10] using a reflection and the fact that M involves an irrational rotation. This was a rare and special example. Here we prescribe the irrational rotation directly as a symmetry. The matrix M was chosen because it has determinant 5. With two or three pieces, we have few degrees of freedom, and only a small number of IFS with OSC, most of which are well known [24,40]. With 8 or 9 pieces, we already have a huge choice of parameters s k and v k which we cannot control even with a computer (see [9] for discussion of a similar case). A maximal number of five pieces is better to handle. Since we find no tiles, we shall be content with fractals with m = 4 pieces and nice topological structure.
Thus the irrational rotation acts only between the pieces A 1 and A 3 while A 2 and A 4 are parallel, and A 3 is rotated by 180 o with respect to them.

The neighbor graph
Definition. We shall now determine the combinatorial structure of our example IFS, the so-called neighbor graph. For the case of pieces of equal size, this object has been defined in various papers, including [1,4,11,14,17,18,27,35,43,44,54]. We introduce the concept briefly and refer to the literature for details. The IFStile package determines neighbor graphs also for IFS with different contraction ratios and for graph-directed constructions.
The neighbor graph is a directed edge-labelled graph G = (V, E) which can have multiple edges and loops. The vertex set V consists of all neighbor maps Now if A w and A v intersect, there are intersecting subpieces A wk , A vj which must belong to some neighbor map h which is another vertex. For each such pair of subpieces there is an edge from h to h labelled by k, j, indicating that h = f −1 k hf j . Moreover, we have initial edges from h 0 = id to h = f −1 k f j , labelled by k, j, for each pair of first level pieces A k , A j which intersect. We consider id as the root vertex of G. But id is not a neighbor map and must not be reached by an edge when the OSC is fulfilled. So we shall not draw id as a vertex. We just indicate the initial edges.
If a finite neighbor graph G can be constructed for an IFS, we say that the IFS has finite type. We consider only finite type IFS. In the computer treatment, an IFS is discarded if the corresponding neighbor graph requires more than a prescribed number N of vertices. In our context, we take N = 100 or even smaller.
For our example, we first explain how a human can geometrically construct the neighbor graph. Then we describe how a computer does the job. Intuitive construction. The first level intersections all involve A 3 . Initial edges labelled 1, 3, 3, 1, 3, 2, and 3, 4 go to the following vertices, respectively.
and h 3 = id allows to calculate directly from (8). Moreover, n 2 and n 4 are point reflections, they are self-inverse. Thus f −1 2 f 3 = n 2 and f −1 4 f 3 = n 4 . Instead of drawing new edges leading to the vertices n 2 and n 4 , we just write a second label 2, 3 resp. 4, 3 at the existing edges. See Figure 6.
We have considered all first-level intersections. Now we must know how they divide into neighbor types on the second level. Figure 7 shows our carpet, colored with respect to the second level index. We see that A 1 ∩ A 3 = A 14 ∩ A 31 , and that the neighboring position between these subpieces is the same as between A 2 and A 3 . This can be confirmed by the equation Thus we draw an edge labelled 4, 1 from n 1 to n 2 , and an edge with label 1, 4 from n 3 to n 2 . Next, we see that A 2 ∩ A 3 = A 22 ∩ A 32 , and the neighbor type of these subpieces is just n 4 . So we draw an edge with label 2, 2 from n 2 to n 4 . Moreover, the neighbor type n 4 divides into two subtypes: The corresponding neighbor map So we draw an edge with two labels 2, 4 and 4, 2 from n 4 to n 5 . The subdivision of neighbor types n 1 to n 4 is completed. We still have to study the subdivision of the new type n 5 by considering the third level pieces of A, Fortunately, it can be seen that n 5 describes just the intersection of the subpieces with index 1 on both sides, and represents type n 4 on the next level. Thus only one more edge from n 5 to n 4 with label 1, 1 has to be drawn, resulting in Figure 6 which is discussed in the next section.

The computer algorithm. A computer easily generates lots of neighbor maps
The proposition says that when h(A) does not intersect A for some generated map h, then h (A) will not intersect A for all its successor maps h in forthcoming levels. Moreover, the size of the translation of h will grow exponentially with the level. So even for small ε it will become obvious after few recursion steps that we do not have a neighbor map.
The algorithm is now clear. We stop the recursive calculation as soon as we recognize that h is not a neighbor map. Afterwards, we repeatedly remove from our recursive tree of maps all vertices h without successors. Then we are left with all maps which lead to a cycle in the neighbor graph, and this is exactly the graph G. On the other hand, when the recursive calculation produces too many (say 10 5 ) isometries for which we cannot decide whether they are neighbor maps, we give up and say that the IFS seems not to be of small finite type. Now we provide a simple general criterion to decide when an isometry is not a neighbor map. The IFStile package uses more complicated IFS-specific estimates which reduce the effort of recursive calculations.
Proposition 2 Letx denote the center of gravity of A, determined from the IFS by the equatioñ Proof. Note thatx and δ can be easily calculated from the IFS data. For each j, k the distance of Since these points, with arbitrary n and w, are dense in A, we obtain the estimate |y −x| ≤ δ/(1 − r) for all y ∈ A. This proves the first assertion. If |h(x) −x| is greater than twice the radius of a ball B with centrex, then B and h(B) must be disjoint.
4 What can we conclude from the neighbor graph?
Topology-generating automaton. The neighbor graph is an automaton which generates the topology of A. All topological properties of A are encoded in the neighbor graph. In the argument above, we pretended that we can see that the pieces A 1 and A 3 intersect. This was not true. Actually, pictures did repeatedly lead us to wrong conclusions. Only the calculation of the neighbor graph can verify that A 1 and A 3 have common points.
The neighbor graph is empty if the pieces A k = f k (A), k = 1, ..., m are pairwise disjoint. Otherwise, the neighbor graph tells us which pieces intersect. Consider any infinite path of edges, starting with an initial edge, that is, starting from the root h 0 = id. Paths are directed by definition, and if they are infinite, they must contain directed cycles. If the path has the labels k 1 , j 1 ; k 2 , j 2 ; ... then the two sequences k 1 k 2 ... and j 1 j 2 ... describe the same point, which is determined by the decreasing sequence of compact sets A k 1 ∩ A j 1 , A k 1 k 2 ∩ A j 1 j 2 and so on (cf. [12,13,20]). In our example, infinite paths are all given by the cycle between n 4 and n 5 which we have to run through infinitely many times. Actually, it consists of two cycles since from n 4 to n 5 we have two edges with labels 2, 4 and 4, 2, respectively. Thus the addresses 3u 1 1u 2 1u 3 ... and 4v 1 1v 2 1v 3 ... describe the same point whenever either (u i , v i ) = (2,4) or (u i , v i ) = (4, 2) for each i = 1, 2, .... This means that A 3 and A 4 have a whole Cantor set in common. And the same holds for A 3 and A 2 , and A 3 and A 1 , if we consider paths starting in n 2 and n 1 . On the other hand, A 1 and A 4 have no common points since 1, 4 and 4, 1 do not appear as labelling of an initial edge.
Connectedness properties. Recall that the neighbor graph G is constructed so that there is an outgoing edge from each vertex, and hence an infinite directed path starting in each vertex. Thus there is an initial edge with label k, j if and only if A k ∩ A j = ∅. So from G we can define the connectedness graph G c of A, with vertex set {1, ..., m} and undirected edges between k, j whenever A k intersects A j . For our example, the connectedness graph is a 3-star, or letter Y, with central vertex 3. The following is known. The first assertion is a classical theorem of Hata, proved by inductively constructing chains of intersecting pieces.

closed Jordan curve if and if and only if either
G c is connected, or two pieces A j , A k intersect in more than one point.
(iii) Let h = f −1 k f j be the vertex of the neighbor graph G which corresponds to D = A k ∩A j = ∅. Let C denote the set of all directed cycles which can be reached by a path from vertex h. The intersection D is a singleton if and only if C consists of one element C 1 and there is only one path from h to C 1 . The intersection is finite if there is no path between C 1 and C 2 for any C 1 , C 2 ∈ C. The set D is uncountable if there exist C 1 , C 2 ∈ C and paths from C 1 to C 2 and back. Otherwise D is countably infinite.
The proof is simple but there are various details, cf. [11]. The graph in Figure 6, for instance, contains two cycles from n 4 through n 5 to n 4 . The two cycles can be reached from each other since they start in the same point -the connecting path is empty. Similarly, care has to be taken when points belong to three or more pieces.
According to (iii), we have different levels of connectedness of A which we can read from the neighbor graph: ordinary connectedness in the sense of Hata, connectedness by single-point intersections which means that A is a dendrite, connectedness by finite intersections (called p.c.f. self-similar sets in [31]), connectedness by infinite, at most countably infinite or uncountable intersections. All such properties will be determined in IFStile, and can be used to characterize and order the exmples.
Some related properties still require research, for instance the study of connectedness components of A when A is not connected. For distinguishing Cantor set intersections A k ∩ A j from intervals, one needs to consider neighbor graphs for intersections of three or more pieces [4,14,54]. This is important for tilings, especially in three dimensions. In the example above, all three-piece intersections are empty.
Cutpoints and first-level intersections. Consider the fixed point y = 0 of f 3 in the above example. It does not belong to two pieces since the address 3 = 333... -even the word 33 -is not labelling a path in the neighbor graph. Nevertheless, y is an important point for the topology of A. It is a cutpoint of degree 3: A \ {y} consists of three connected components. This can be easily seen: removal of A 3 from A results in three different pieces, and removal of A 33 from A results in three larger pieces, and so on. Thus A involves a rather simple tree structure, despite containing Cantor set intersections and closed Jordan curves. We call such a space a web.
We do not go further into detail. We just want to give an impression of the potential and universal role of the neighbor graph. For the computer search, certain simple parameters are useful even if they do not define topological properties of A. The number FLI of first-level intersections is just the number of initial edge labels k, j with k < j. This is an invariant of the IFS (cf. [8]). In our example FLI = 3. When we look for connected examples, and do not find them -which was the case in several experiments related to this paper -then FLI will give us an idea on how far we are from connectedness.
Hausdorff dimension of the boundary. Apart from connectedness properties, let us remind the fact that the neighbor graph verifies that our IFS is of finite type and fulfils the OSC. In particular, the Hausdorff dimension of A equals [12,13,20] Moreover, A is a very nice type of self-similar set, completely described by an automaton. It is a computable self-similar set. Now we show that the boundary dimensions of A can also be read from the neighbor graph. This was found for the twindragon by Gilbert [25], for the Lévy dragon by [19,52] and for self-affine tiles by [1,17,33] and others. To each neighbor type n k there corresponds a boundary set B k = A ∩ n k (A). The first parts of the labels of the edges are used to determine a set of equations for the boundary sets: The boundary sets form a graph-directed system, which inherits the OSC from A. Therefore it is possible to determine the Hausdorff dimensions of all boundary sets. In our case they all have the same dimension, and we see that B 4 is even a self-similar set: Note that with f 1 , the irrational rotation is involved in all boundary sets. All the mentioned properties and parameters are automatically determined by IFStile, and can be used to identify non-isomorphic examples, or to select specimen with prescribed topological properties from a computer-generated collection, cf. [8, Section VI].

Algebraic aspects of the neighbor graph
An open question. The neighbor graph completely describes the topology of A, but not the Hausdorff dimension of A. It is well-known that the dimension of a Koch curve can be changed without changing the topology, just by varying the angle of the maps [12]. So the question is which properties should be added to the neighbor graph in order to completely characterize the IFS, up to isomorphy. Isomorphy involves change of the coordinate system and permutation of the maps, see [8]. The question seems difficult. We shall discuss it for our simple example.
Generating relations. The neighbor maps generate a group of isometries. Whenever we extend the self-similar construction of a connected attractor A to the outside, by forming .., any isometry between two 'tiles' of such a pattern will belong to that group. In algebra, groups are often defined by a system of generators and generating relations. It turns out that the neighbor graph provides such relations between the neighbor maps. In this way it gives algebraic information on the IFS beyond the topology of A. Usually the equations are highly nonlinear. For our simple example we can separate and solve them, however.
Finding IFS data from a neighbor graph. Let us assume that we have an IFS given by g, h 1 , ..., h 4 which produces the neighbor graph of Figure 6. For simplicity we assume h 3 = id which can be arranged by passing to the isomorphic IFSg = h −1 3 g,h j = h −1 3 h j . Then the initial edges 3,1, 3,2 and 3,4 imply that h 1 = n 1 , h 2 = n 2 , and h 4 = n 4 .
If two initial edges with label k, j and reversed label j, k lead to a vertex h, then the map h is self-inverse. This also holds for paths with reversed labels starting from the root. Thus n 2 , n 4 , and n 5 are self-inverse. Now when we restrict ourselves to IFS without reflections, the only self-inverse isometries in the plane are point reflections. Thus we can conclude that h 2 (z) = w 2 − x, h 4 (x) = w 4 − x, and n 5 (x) = w 5 − x, for some vectors w k .
In order to simplify equations and avoid confusion with the IFS data above, we now work in the complex plane, writing z instead of x. Our aim is to determine unknown complex numbers λ, t, and v from the neighbor graph. They correspond to M, −s, and s 0 1 in the example. The w k are now also considered unknown complex numbers, but we use the same letter as for vectors above, and keep the notation g, h k , f k for the unknown maps. We have proved the first part of (i) in the following proposition.

Proposition 4 Suppose an IFS is defined in the complex plane by g(A) = 4
k=1 h k (A) with g(z) = λz, h 1 (z) = tz + v, h 3 (z) = z, with λ, t, v ∈ C and |t| = 1. If the neighbor graph of this IFS is the graph in Figure 6 then Proof. For (i) we derive the relation between w 2 and w 4 from the neighbor graph. Note that f k = λ −1 h k . The edge from n 2 to n 4 generates the relation f −1 2 n 2 f 2 = n 4 . We multiply by f 2 from the left and use h 2 = n 2 , h 4 = n 4 . Thus Ordering terms, we obtain (i). The edge from n 1 = h 1 to n 2 = h 2 implies h 1 f 4 = f 1 h 2 , or t(λ −1 (w 4 −z)+v) = λ −1 (t(w 2 −z)+v). Thus tw 4 + λv = tw 2 + v. Together with the relation in (i), this gives (ii). To verify (iii), consider the edge from n 4 to n 5 . It generates the relation f −1 2 n 4 f 4 = n 5 , or h 4 λ −1 h 4 = λ −1 h 2 n 5 . Calculation gives The edge from n 5 to n 4 says n 5 f 1 = f 1 n 4 , or Comparing the two expressions for w 5 we get (iii).
Since t varies on the unit circle, it seems better to consider λ as a function of t, that is, of the rotation angle of h 1 . The derivative of r is r (λ) = (3(λ − 1) 2 + r(λ))/(4 − λ). Since r (2 − i) = (−6i + t 0 )/(2 + i) = 0, the inverse function theorem applies: there is a holomorphic function λ = r −1 (t) defined in a neighborhood of t 0 . Moreover, in a sufficiently small neighborhood of t 0 , the maps f −1 k f j which correspond to non-intersecting pieces at (t 0 , λ 0 ) will still correspond to non-intersecting pieces at (t, λ = r −1 (t)) since only a finite number of such pairs need to be considered. And the above calculations can be reversed so that the parameters (t, λ = r −1 (t)) provide IFS with the neighbor graph of Figure 6. This proves Proposition 5 In a small neighborhood of our example IFS parameters λ 0 = 2 − i, t 0 = −(4 + 3i)/5 together with w 2 = 1, v = t, w 4 = 2 − λ, there is a one-dimensional parametric family of IFS which all have the same neighbor graph as the example. In this neighborhood and family, each IFS is uniquely determined by the neighbor graph and |λ| which respresents Hausdorff dimension of the attractor.
The last assertion was checked only by a Matlab calculation which shows that |λ| is decreasing aolmost linearly on the curve λ = r −1 (t) for 30 o ≤ anglet ≤ 45 o while at t 0 we have the angle arctan 3 4 ≈ 36.9 o . Since (iii) is a cubic equation, there are two other solutions λ 1 , λ 2 which fulfil r(λ j ) = t 0 . One of them has modulus smaller than one, and for the other one IFStile could not calculate a neighbor graph, so it certainly will not generate Figure 6. Thus it seems even globally true that for this special neighbor graph, an associated IFS is uniquely determined by its Hausdorff dimension.

Examples from Pythagorean triples
Pythagorean triples and irrational rotation. A rotation of the plane by an angle α is called rational if α = k n · π for integers k, n, and irrational otherwise.
Proposition 6 A rotation s has a matrix of the form u−v v u with u 2 +v 2 = 1. If u, v are rational then the rotation angle is irrational or a multiple of 90 o .
Proof. If there are integers k, n with α = k n · π then z = u + iv is an n-th root of unity in C. That is, z is a root of the n-th cyclotomic polynomial which is irreducible. Thus except for n = 1, 2, and 4, z is not in the rational field Q(i), and u or v must be irrational.
The rational points (u = a/c, v = b/c) on the unit sphere correspond to the Pythagorean triples (a, b, c) of integers with a 2 + b 2 = c 2 . They can be generated by a well-known formula of Euclid, see Section 10. The rotation s in (7) came from the basic triple (3,4,5). The two next triples are (5,12,13) and (8,15,17).
Our question here is whether the corresponding irrational rotations, combined with appropriate expansions g(x) = M x, do generate self-similar sets with strong connectedness properties. The challenge. We briefly explain the goal of our experiments. For crystallographic data, each integer expansion matrix M leads to IFS with OSC and m = det M. This is proved by taking so-called complete residue systems as h 1 , ..., h m [3], and it is well-known that the attractors are tiles. By dropping one or more of the mappings we can then easily create carpets, as in Figure  1. For irrational data, however, only very few tiles are known [42,15,22,10], and we found no further tiles in our experiments.
It is not difficult to find totally disconnected, Cantor-type sets A with all kinds of irrational IFS. But whenever two pieces have a point in common, this creates an equation for the mappings of the IFS. In general the equation is given as a limit when the level of pieces tends to infinity.
However, if we assume finite type, edges of the neighbor graph define equations for finite compositions of the f k , as we have seen above. In case of complex linear functions f k (z) = t k z + v k we directly get polynomial equations in z.
When we require the pieces to have only one point with eventually periodic addresses in common (so-called p.c.f. fractals, like the Sierpiński triangle [31,51]), we can still establish such equations by hand and try to solve them. However, we do not know any mathematical arguments which would lead to the construction of the example above, even though there is only one double cycle in the neighbor graph. It seems a mystery that two pieces differing by an irrational rotation intersect in a similar Cantor set as pieces which just differ by a point reflection.  Figure 2, we determine the neighbor graph of the IFS with respect to the base B, using accurate integer calculation. For visualization on a numerical level we transform back to standard coordinates.
As an example, we take g = 2s + 1 as expansion and t = (3s + 5)/7 as irrational rotation. Here 1 denotes the identity map. Thus g(x) = 2s(x) + x is the similarity map transforming b 1 into 2b 2 + b 1 = 2 √ 3 , with determinant 7. By expressing g and t as rational linear combinations of s and 1, we guarantee that their matrices with respect to base B are rational, and that the mappings commute. Moreover, we save a lot of matrix calculations. Figure 10 shows the most interesting carpet with m = 6 pieces resulting from a search with g, s, and t. While in most of our examples, only one piece involves the irrational rotation (relative to the other ones), here we have three pieces with irrational rotation and three without. Similar to Figure 3, there seems to be no global cutpoint although local cutpoints are apparent. The close-up indicates both the symmetry of order 6 and the non-crystallographic character.
We still have to prove that t is an irrational rotation. We use the fact that u = 13 14 , v = 3 14 is a rational solution of u 2 + 3v 2 = 1, and the following statement. Proof. Since s has the matrix 1 2 1− √ 3 √ 3 1 with respect to the standard base, t has the matrix For a rotation, the determinant is 1. Suppose the rotation angle is rational and not a multiple of 60 o . Then the corresponding root of unity is the root of a cyclotomic polynomial which is irreducible over the field Q( √ −3). This contradicts the assumption that t is a rational linear combination of s and 1.
There are a number of similar patterns in this family. As reflection for the base B we can add the exchange matrix 0 1 1 0 which exchanges b 1 with b 2 . This will create a large family of carpets, related to the Gosper flake in Figure 1. Some of them have 100 neighbor types, but most have smaller complexity.

Classification of fractal patterns
Principles. Now we shall try to get some order into our zoo of fractal examples. As in biology and crystallography, we have to divide them into species and families. This will be done in three steps.
1. We fix the lattice, which corresponds to the species. We can choose the square lattice with the basic 90 o rotation, or the hexagonal lattice with its 60 o rotation. Other choices are given below. Algebraically, the lattice is induced by a number field which specifies algebraic numbers like i or √ 3 which we need beside rational numbers. This number field comes with a symmetry group consisting of rotations defined by the number of modulus one. There can be infinitely many rotations with infinite order.
2. We choose an expansion map g(x) = M x or g(z) = λz. The number λ is taken as an algebraic integer of norm greater one in our number field, sometimes as an algebraic rational. Then √ det M or |λ| is the contraction factor r of the IFS. Since we require OSC, the number of maps in the plane is bounded by mr 2 ≤ 1, or m ≤ det M.
3. The choice of lattice and expansion, together with a finite selection of rotations s, determines the family of fractals. In the last step, concrete instances of this family are produced by choosing particular s k , v k for k = 1, ..., m such that the OSC is fulfilled.
It makes sense to fix only a maximum number of maps and let m vary within the family. Often the IFS with different numbers of maps and their neighbor graphs are related. Moreover, the actual symmetry class of an example can only be determined after the s k are chosen. Usually we are not using all symmetries which are offered. Then we follow the convention used in classifying crystallographic patterns [26]. The symmetry type of an example is determined by the group of maps generated from the actual neighbor maps.
Examples. In Figure 1, the Sierpiński triangle was drawn in a symmetric way. When we make use of this symmetry, or include 120 o rotations in our IFS, we are in the hexagonal lattice, or the number field Q( √ −3), and have a symmetry group of three rotations. However, usually we generate a symmetric fractal in its most simple form. That is, f k (x) = (x + c k )/2 where c k is the fixed point of f k . Then the symmetry group is trivial, s k = id for all k, and all choices of non-collinear points c k are isomorphic. This symmetry type consists of a single isomorphy class for m = 3. For m = 2 we would add intervals. We work in Q 2 , no extension of the rational numbers is required. When we go to m = 4, we would obtain the parallelogram, the triangle, and a lot of more fragmented tiles [3,38].
When we stay with m = 3 and allow s k (x) = ±x, we obtain three other modified Sierpiński gaskets which are well known. Again, the choice of the c k is irrelevant. We stay in Q 2 , and the family remains very small.
In this paper, we shall always include s(x) = −x in the group of symmetries, since we do not want to distinguish too many symmetry types.
In [8] we studied the Sierpiński triangle in a square lattice and its modifications obtained by chosing rotations s(z) = i n z with n ∈ {0, 1, 2, 3}. This is a huge family. We used the square lattice Q(i), and the symmetry group of most examples was the rotational group of the square. For m = 4, we get tiles like square, right-angled isosceles triangle and the aperiodic chair [26]. Of course, one gets an even larger family if reflections are added as symmetries.
The tile on the right of Figure 1 obviously has 120 o and 60 o rotations as neighbor maps, so we work in the hexagonal lattice, or Q( √ −3). The symmetry group is a rotation group, even when we define the s k with reflections in order to keep the positive determinant of g. The family is large. For m = 7 it contains plenty of tiles [38]. One example for m = 6 is Figure 2.
The new constructions in this paper have infinite symmetry groups. In Figures 3 and 5 the group is cyclic, with a single generator. A second generator is chosen as a reflection in Figure  4, and as a rotation in Figures 8 and 9. The number field is Q(i), the lattice is formed by the Gaussian integers. For Figure 10, with an irrational rotation plus 60 o rotation, we have the hexagonal lattice of Eisenstein integers.
A large part of the literature on fractal tilings [5,17,18,29,30,33,44,53] is concerned with self-affine tiles where neighbor maps are translations and symmetries play no part. However, there are also crystallographic fractal tiles where we have a crystallographic group which acts on the tiling [24,34,35]. Only very few fractal tiles have infinite symmetry groups [42,15,22,10]. This can be explained by a result on algebraic expansion constants which goes back to Thurston [29,30,53].
In the study of Ngai, Sirvent, Veerman and Wang [40] on fractal tiles with m = 2 pieces, symmetries play an important rôle. They consider rational rotations and no reflection. They show that there are only six cases: twindragon, Lévy curve, Heighway dragon, triangle, rectangle and tame twindragon. The first four cases are realized in Q(i) with expansion constant λ = 1+i. The hexagonal lattice does not contain a lattice point with norm m = 2, so it can be used only for tiles with 3 pieces. This means that rectangle and tame twindragon are based on other lattices which we consider below.

Lattices from polynomials
Parameter-free description of mappings. In this paper, a lattice was defined by a base B = {b 1 , b 2 } for which matrices M, s k have rational entries, and vectors v k have integer coordinates. How do we find B? Let us first reformulate condition (6) for a rotational symmetry and expansion.

Proposition 8
In the plane, let s be a rotation, and g an expanding similarity map with positive determinant. Assume that s and g have a rational matrix with respect to the same base B.
(i) The characteristic polynomial of s is p s (z) = z 2 + az + 1, where a is rational and |a| ≤ 2.
(ii) There are rational numbers b, c such that g(x) = bs(x) + cx for all x.
Proof. The determinant of a rotation is 1, and the trace is rational by assumption. The eigenvalues of s are −a/2 ± a 2 /4 − 1. For |a| > 2, the eigenvalues are different reals so that s cannot be a rotation.
For (ii) we consider similitudes with positive determinant in standard coordinates. They have matrices of the type u−v v u and thus form a two-dimensional vector space. The identity map 1 together with s forms a base of this space. So the map g has the form g = b · s + c · 1 with real coefficients b, c. This equation is true for standard coordinates as well as for coordinates with respect to any other base B. Taking a base for which both maps have a rational matrix, we see that b and c must be rational, by studying first values off the diagonal and then on the diagonal.
The proposition says that any triple a, b, c of rational parameters defines a family of fractals. Not all triples lead to interesting examples. Our approach first selects a basic symmetry s and then an expansion g which fits the symmetry s. One can also first define the expansion and then add symmetries in the form s = bg + c. However, ordinary integer expansions, like g(x) = 2x, will fit any symmetry group. Moreover, the coefficients b, c for g = bs + c are often integers while for s = bg + c they are always rational. This led us to choose the symmetry type first. Together with a given rotation s, all powers s q or s −q will be admitted as symmetry maps s k in (5a). In reality, the integer q will of course be small.
Companion matrix and exchange matrix. The definition of a fractal family by one characteristic polynomial p s (z) and a polynomial equation g = n k=0 b k s k was implemented in IFStile for a higher-dimensional setting. The user has only to think about the master equations, while all matrix calculations are done by the computer. In the case when the polynomial p s (z) is irreducible, the canonical base B is given by the successive images b k = s k−1 (b 1 ), k = 2, ..., n of the first base vector b 1 . In other words, we work with the companion matrix of s. An advantage is that the transform to standard coordinates can be done by fast numerical procedures.
Here we work with quadratic polynomials p s (z) = z 2 + az + 1 which are irreducible for |a| < 2 while for a = ±2 there are no interesting symmetries. We define the companion base as With a reflection r, we can also describe IFS with expansion maps with negative determinant. Note that the definition of an attractor by an IFS g, h 1 , .., h m by (5a) is by no means unique. For any isometry t, we can pass to the IFS tg, th 1 , ..., th m which has the same attractor A. Moreover, we can change the coordinate system and permute the maps of the IFS. The recognition of isomorphic IFS representations is still a problem of the IFStile software, in particular for symmetric examples as square and cube. See [8, Section VI] for a brief discussion of this problem. We try to choose the simplest IFS for a given attractor, but the computer will not always do.
Finally, we mention that in the two-dimensional case we have little problems with commutativity of matrix multiplication: s commutes with g, and different rotations commute with each other. For a reflection r and a rotation s we have sr = rs −1 .

Constructions in quadratic number fields
Quadratic number fields. Every irreducible polynomial p with rational coefficients gives rise to a field extension of Q. In particular, p(z) = z 2 + d with a positive square-free integer d generates the field Q( The integer d is square-free if it is not divisible by a square of an integer n > 1. For other integers d such an n would be included in the coefficient c 2 . Any quadratic polynomial with rational coefficients and complex roots will generate one of these fields, as can be easily checked by solving the quadratic equation. Figure 11: A carpet generated from three irrational rotations with a = 3 2 , 1 4 , 9 8 and an expansion g of determinant 8. It has dimension 1.87 and 19 neighbor types. The number field is Q( √ −7), as for the tame twindragon.
Here we are interested only in polynomials p s (z) = z 2 + az + 1 of rotations with a positive rational number a < 2. The number −a gives the same quadratic field, and is included in any IFS with s since the map −x is always adjoined to the symmetry group. We take positive integers u < w with a = 2u/w. Then The number d is taken as square-free part of w 2 − u 2 . Table 1 shows all parameters a with denominator w ≤ 9 which correspond to d ≤ 35. We have characterized the rotations which belong to quadratic number fields: Proposition 9 Consider the polynomial p s (z) = z 2 + az + 1 with rational a ∈ (0, 2). Let a = 2u/w where u, w are positive integers.
(i) p s generates the quadratic number field Q( √ −d) where d is the square-free part of w 2 − u 2 .
(ii) If a is different from 0 and 1, the rotation angle α is irrational and fulfils cos α = −a/2.
(iii) The parameter a corresponds to the integer triple (u, v, w) which solves the equation u 2 + dv 2 = w 2 . For every d, these generalized Pythagorean triples are generated by Euclid's formula u = n 2 − dm 2 , v = 2mn , w = n 2 + dm 2 with integers m, n such that n > m √ d. Proof.
The first assertion was proved above, the second follows from the fact that the cyclotomic polynomials which generate rational rotations have integer coefficients. The rotation Table 1: The first positive square-free integers d, and corresponding fractions a with denominator up to 9 which generate the field Q( √ −d).
Results of the computer experiments. We studied rational numbers a with small denominator and |a| < 2, and the rotation with polynomial p s (z) = z 2 + az + 1. The expansion was defined as g = bs + c with rational numbers. The best results were obtained when g represents an algebraic integer in Q( √ −d). That is, determinant and trace of M in (10) must be integers. Recall that an element of the field (11) is an algebraic integer if either c 1 , c 2 are integers, or d = 3mod4 and c 1 = d 1 /2, c 2 = d 2 /2 with odd integers d 1 , d 2 .
For a = 3 2 , we get the field Q( √ −7) which corresponds to the tame twindragon [3,40]. The twindragon is obtained for g = 2s + 1 but does not use the symmetry s. With g = 3s + 1, we got an example with m = 4 which is extremely similar to Figure 5. It has 6 neighbor types and fulfils β = α/4 as in Section 4. This is remarkable since this g has determinant 11/2 and trace 5/2 and thus is not an algebraic integer.
For the expansion g = 4s + 1 with determinant 11, we got many nice carpets with m = 9 and small complexity. Adding reflections, we got an even greater variety of shapes. One example had dimension α = 1.83 and almost the same boundary dimension β = 1.76, similar to the Lévy curve [19,52]. Another interesting expansion was g = 2s − 2 with determinant 14. Figure 11 shows a very interesting example where all three different irrational rotations from Table 1 are involved. Here we took g = 2s − 1 with determinant 8, and we have m = 7 pieces. The Hausdorff dimension is 1.87, and there are no cutpoints whatsoever. Only two pieces are parallel and two pieces related by point reflection. All other pairs of pieces differ by different irrational rotations. From all our IFSs, the isotropic character is most obvious here. Nevertheless we have only 19 neighbors. There were two variations of this example, one with 16 neighbors and cutpoints, another one with 21 neighbors and still better geometry. On the whole a = 3/2 with Q( √ −7) is a rich source of irrational examples. For a = 1/2, which corresponds to Q( √ −15), we got also rich families. The simplest expansion is g = 2s − 1 with determinant 6. Of course we did not find tiles, but abundant examples with m = 5. Similar to crystallographic IFS like Figure 2, the complexity can be large, and the pieces of A may cross each other which indicates that the OSC can only be fulfilled with complicated open sets [8]. An example with only 12 neighbors is shown in Figure 12. The rotation with a = 7/4 leads to the same number field and similar examples. The rectangle as a self-similar set with two pieces, used as standard size for writing paper, belongs to the field Q( √ −2). An appropriate rotation is given by a = 2/3. The expansion g = 2s − 1 provides one example with m = 4 similar to Figure 5, but with smaller dimension 1.5 and larger number 12 of neighbors. The reason might be that g with determinant 19/3 is not an algebraic integer. Another expansion is g = s − 3 with determinant 12. We obtained connected examples with OSC only up to m = 8. Still these examples have global cutpoints, like Figure  5, even if reflections are used. A third choice was g = 3s + 1 with determinant 8. The search gave a single example with m = 7 and Cantor sets as boundaries. It is exceptional since it has only 6 neighbor types. But like Figure 5, it has global cutpoints and involves a tree structure. Altogether, the field Q( √ −2) seems not to lead to nice carpets for m ≤ 12. We performed similar experiments for d = 5, 11, 19, 23, 35, 91 and got similar results as for d = 2, at least as good as Figure 5. For d = 6 there were less examples.
Summary. Including irrational rotations into IFS is not easy. No tiles could be constructed this way. Nevertheless, we found connected self-similar sets with pieces intersecting in uncountable sets in all quadratic fields which we studied. Various examples have the topology of the Sierpiński carpet, almost the same Hausdorff dimension, and a much more interesting isotropic geometry. For the Sierpiński triangle, with finite intersections of pieces and dimension between 1.5 and 1.6, there are lots of variations in all quadratic fields considered. In general, the complexity of irrational examples is smaller than that of IFS with crystallographic data. Some of the examples with small number of neighbors seem to be unique and worth of further study.
Some open problems. This is a beginning. We discussed self-similar sets in the plane with equal contraction factors, between 4 and 14 pieces, and data from quadratic number fields. Graph-directed constructions and projection schemes for arbitrary number fields are more exciting. For three-dimensional self-similar sets a general framework does not yet exist, despite much work, including [4,14,15,18,23,30,38,54].
In Section 1 we claimed that our examples do not contain line segments. How can this be proved? If there is a line segment L in A, it will intersect a small piece A w in an interior subsegment L 0 , and meet two subpieces A wj and A wk . Then L = f −1 w (L 0 ∩ A w ) is a segment which connects two boundary points of A in different pieces A j , A k . In all our figures, visual inspection shows that such L cannot exist. It would be better to prove this by a characterization of all IFS which lead to segments in A.
It should also be possible to characterize attractors with cutpoints and give a fast algorithm for detecting Cantor set attractors, which may have very large neighbor graphs [8]. The holes of all irrational examples obviously look more complicated than the holes of Sierpiński's spaces. However, calculation of the Hausdorff dimension of the topological boundary of such holes is still an open problem.