Code for arXiv:1903.06137¶
The code to construct the partitions in [Lab2021b].
REFERENCES:
- Lab2021b(1,2,3,4)
S. Labbé. Markov partitions for toral \(\mathbb{Z}^2\)-rotations featuring Jeandel-Rao Wang shift and model sets, Annales Henri Lebesgue 4 (2021) 283-324. https://doi.org/10.5802/ahl.73 https://arxiv.org/abs/1903.06137
- Lab2018
S. Labbé. A self-similar aperiodic set of 19 Wang tiles. Geom. Dedicata, 201 (2019) 81-109 https://doi.org/10.1007/s10711-018-0384-8. http://arxiv.org/abs/1802.03265
EXAMPLES:
The partition associated to Jeandel-Rao Wang shift:
sage: from slabbe.arXiv_1903_06137 import jeandel_rao_wang_shift_partition
sage: P0 = jeandel_rao_wang_shift_partition()
sage: P0
Polyhedron partition of 24 atoms with 11 letters
The partition associated to the self-similar Wang shift \(\Omega_{\mathcal{U}}\):
sage: from slabbe.arXiv_1903_06137 import self_similar_19_atoms_partition
sage: PU = self_similar_19_atoms_partition()
sage: PU
Polyhedron partition of 19 atoms with 19 letters
A 5x5 valid pattern:
sage: from slabbe.wang_tiles import WangTiling
sage: from slabbe.arXiv_1903_06137 import jeandel_rao_tiles
sage: T0 = jeandel_rao_tiles()
sage: table = [[6, 1, 7, 2, 5],
....: [6, 1, 3, 8, 7],
....: [7, 0, 9, 7, 5],
....: [4, 0, 9, 3, 7],
....: [5, 0, 9, 10, 4]]
sage: t = WangTiling(table, tiles=T0)
sage: t._color = None
Image dans l’introduction de l’article:
sage: from slabbe.arXiv_1903_06137 import geometric_edges_shapes
sage: draw_H, draw_V = geometric_edges_shapes()
sage: tikz = t.tikz(color=None, draw_H=draw_H, draw_V=draw_V,
....: font=r'\bfseries', id=True, label=False,
....: id_color=r'black',scale="1,very thick")
sage: tikz._standalone_options = ["border=2mm"]
sage: _ = tikz.pdf(view=False)
Image dans l’appendice de l’article:
sage: extra = r'\node[yshift=2.5mm] at (1,5) {\Huge\ScissorRightBrokenBottom};'
sage: tikz = t.tikz(color=None, draw_H=draw_H, draw_V=draw_V,
....: font=r'\bfseries\LARGE', id=True, label=False,
....: id_color=r'black', scale="3,ultra thick", extra_after=extra)
sage: tikz._usepackage = ['amsmath', 'bbding']
sage: tikz._standalone_options = ["border=2mm"]
sage: _ = tikz.pdf(view=False)
Random generation of Jeandel-Rao tilings:
sage: from slabbe import random_jeandel_rao_rectangular_pattern
sage: tiling = random_jeandel_rao_rectangular_pattern(4, 4)
sage: tiling
A wang tiling of a 4 x 4 rectangle
sage: tiling.table() # random
[[1, 10, 4, 5], [1, 3, 3, 7], [0, 9, 10, 4], [0, 9, 3, 3]]
- slabbe.arXiv_1903_06137.T0_shapes()¶
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import T0_shapes sage: T0_shapes() \documentclass[tikz]{standalone} \standaloneconfig{border=2mm} \usepackage{amsmath} \begin{document} \begin{tikzpicture} [scale=1,very thick] \tikzstyle{every node}=[font=\bfseries] % tile at position (x,y)=(0.0, 0.0) \node[black] at (0.5, 0.5) {0}; ... ... 60 lines not printed (5279 characters in total) ... ... \draw[blue] (15.0, 0.0) -- ++ (0,.15) arc (-90:90:.1) -- ++ (0,.05) arc (-90:90:.1) -- ++ (0,.05) arc (-90:90:.1) -- ++ (0,.15); \draw[blue] (14.0, 1.0) -- ++ (.2,0) -- ++ (.1,.15) -- ++ (.1,-.15) -- ++ (.1,.15) -- ++ (.1,-.15) -- ++ (.1,.15) -- ++ (.1,-.15) -- ++ (.2,0); \draw[blue] (14.0, 0.0) -- ++ (0,.35) arc (-90:90:.15) -- ++ (0,.35); \draw[blue] (14.0, 0.0) -- ++ (.3,0) -- ++ (.1,.15) -- ++ (.1,-.15) -- ++ (.1,.15) -- ++ (.1,-.15) -- ++ (.3,0); \end{tikzpicture} \end{document}
- slabbe.arXiv_1903_06137.T0_tiles()¶
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import T0_tiles sage: T0_tiles() \documentclass[tikz]{standalone} \standaloneconfig{border=2mm} \usepackage{amsmath} \begin{document} \begin{tikzpicture} [scale=1] \tikzstyle{every node}=[font=\normalsize] % tile at position (x,y)=(0.0, 0.0) \fill[cyan] (1.0, 0.0) -- (0.5, 0.5) -- (1.0, 1.0); ... ... 137 lines not printed (6927 characters in total) ... ... \node[rotate=0,black] at (14.8, 0.5) {3}; \node[rotate=0,black] at (14.5, 0.8) {3}; \node[rotate=0,black] at (14.2, 0.5) {1}; \node[rotate=0,black] at (14.5, 0.2) {2}; \end{tikzpicture} \end{document}
- slabbe.arXiv_1903_06137.geometric_edges_shapes()¶
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import geometric_edges_shapes sage: draw_H, draw_V = geometric_edges_shapes()
- slabbe.arXiv_1903_06137.jeandel_rao_tiles()¶
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import jeandel_rao_tiles sage: jeandel_rao_tiles() Wang tile set of cardinality 11
- slabbe.arXiv_1903_06137.jeandel_rao_wang_shift_partition(backend=None)¶
This construct the polygon partition associated to Jeandel-Rao tilings introduced in [Lab2021b].
INPUT:
backend
– string, polyhedron backend
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import jeandel_rao_wang_shift_partition sage: P0 = jeandel_rao_wang_shift_partition() sage: P0.is_pairwise_disjoint() True sage: P0.volume() 4*phi + 1
The volume is consistent with:
sage: z = polygen(QQ, 'z') sage: K = NumberField(z**2-z-1, 'phi', embedding=RR(1.6)) sage: phi = K.gen() sage: phi * (phi + 3) 4*phi + 1
- slabbe.arXiv_1903_06137.plane_to_torus(m, n)¶
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import plane_to_torus sage: plane_to_torus(0, 0) # abs tol 1e-10 (0.000000000000000, 0.0) sage: plane_to_torus(0.324, .324) # abs tol 1e-10 (0.324000000000000, 0.324) sage: plane_to_torus(12.324, 12.324) # abs tol 1e-10 (0.615796067500630, 3.08793202250021) sage: plane_to_torus(100, 100) # abs tol 1e-10 (1.3343685400050447, 3.021286236252207)
- slabbe.arXiv_1903_06137.random_jeandel_rao_rectangular_pattern(width, height, start=None)¶
Returns a jeandel rao rectangular pattern associated to a given (random) starting position on the torus.
INPUT:
width
– integerheight
– integerstart
– pair of real numbers (default:None
), ifNone
a random start point is chosen
OUTPUT:
list of lists
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import random_jeandel_rao_rectangular_pattern sage: tiling = random_jeandel_rao_rectangular_pattern(4,4) sage: tiling A wang tiling of a 4 x 4 rectangle sage: tiling.table() # random [[1, 10, 4, 5], [1, 3, 3, 7], [0, 9, 10, 4], [0, 9, 3, 3]]
- slabbe.arXiv_1903_06137.random_torus_point()¶
Return a random point in the rectangle \([0,\phi[\times[0,\phi+3[\).
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import random_torus_point sage: random_torus_point() # random (0.947478386174632, 2.62013791669977) sage: random_torus_point() # random (0.568010404619112, 0.933319012345482) sage: random_torus_point() # random (1.06782191679796, 4.58930423801758)
sage: from slabbe.arXiv_1903_06137 import torus_to_code sage: torus_to_code(*random_torus_point()) # random 3 sage: torus_to_code(*random_torus_point()) # random 7
- slabbe.arXiv_1903_06137.self_similar_19_atoms_partition(backend=None)¶
This construct the polygon partition introduced in [Lab2021b] associated to the self-similar 19 Wang tiles [Lab2018].
INPUT:
backend
– string, polyhedron backend
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import self_similar_19_atoms_partition sage: PU = self_similar_19_atoms_partition() sage: PU.is_pairwise_disjoint() True sage: PU.volume() 1
- slabbe.arXiv_1903_06137.torus_to_code(x, y)¶
Return in which atom of the partition associated to Jeandel-Rao tilings the point (x,y) falls in according to [Lab2021b].
EXAMPLES:
sage: from slabbe.arXiv_1903_06137 import torus_to_code sage: torus_to_code(0,0) 0 sage: torus_to_code(0.23,3.5) 5 sage: torus_to_code(1.23,2.243) 3
sage: from slabbe.arXiv_1903_06137 import plane_to_torus, random_torus_point sage: torus_to_code(*plane_to_torus(14.4141, 89.14)) 9 sage: torus_to_code(*random_torus_point()) # random 3