Hypercubic billiard word: Difference between revisions

Inthar (talk | contribs)
Questions: A version of this question has recently been answered.
Inthar (talk | contribs)
Line 2: Line 2:
In the binary case with irrational slope, billiard scales correspond to '''Sturmian words''', which are aperiodic "MOS" (i.e. [[strict variety]] 2) scales.
In the binary case with irrational slope, billiard scales correspond to '''Sturmian words''', which are aperiodic "MOS" (i.e. [[strict variety]] 2) scales.
== Mathematical overview ==
== Mathematical overview ==
In the rational case, let ''w'' be a scale word with signature ''a''<sub>1</sub>X<sub>1</sub> ... ''a''<sub>''r''</sub>X<sub>''r''</sub> (i.e. ''w'' is a scale word with ''a''<sub>''i''</sub>-many X<sub>''i''</sub> steps) and let '''a''' = (''a''<sub>1</sub>, ..., ''a''<sub>''r''</sub>), which we call the ''velocity''.
In the rational case, let ''w'' be a scale word with signature ''a''<sub>1</sub>X<sub>1</sub> ... ''a''<sub>''d''</sub>X<sub>''d''</sub> (i.e. ''w'' is a scale word with ''a''<sub>''i''</sub>-many X<sub>''i''</sub> steps) and let '''a''' = (''a''<sub>1</sub>, ..., ''a''<sub>''d''</sub>), which we call the ''velocity''.
We call ''w'' a '''rank-'''''r'' '''billiard scale''' if there exists a vector '''b''' ∈ ℝ<sup>''r''</sup> such that the line '''a'''''t'' + '''b''' has intersections with coordinate level planes ''x''<sub>''i''</sub> = ''k'' ∈ ℤ that spell out the scale as you move in the positive ''t'' direction along that line.  
We call ''w'' a '''rank-'''''d'' '''billiard scale''' if there exists a vector '''b''' ∈ ℝ<sup>''d''</sup> such that the line '''a'''''t'' + '''b''' has intersections with coordinate level planes ''x''<sub>''i''</sub> = ''k'' ∈ ℤ that spell out the scale as you move in the positive ''t'' direction along that line.  


This definition is equivalent to the definition given in terms of a billiard ball in a cubic room: We first fire off the billiard ball in the direction '''a''' = (''a''<sub>1</sub>, ..., ''a''<sub>''r''</sub>) given by the scale signature. For integer ''a''<sub>''i''</sub>, the particle's trajectory will be periodic, and for almost any starting point, the particle will only collide with one wall at a time. The pattern of which walls the particle collides with then spells out a billiard scale of the given signature, though for [[arity]] higher than 2, this can yield rotationally inequivalent scales depending on the starting point.
This definition is equivalent to the definition given in terms of a billiard ball in a cubic room: We first fire off the billiard ball in the direction '''a''' = (''a''<sub>1</sub>, ..., ''a''<sub>''d''</sub>) given by the scale signature. For integer ''a''<sub>''i''</sub>, the particle's trajectory will be periodic, and for almost any starting point, the particle will only collide with one wall at a time. The pattern of which walls the particle collides with then spells out a billiard scale of the given signature, though for [[arity]] higher than 2, this can yield rotationally inequivalent scales depending on the starting point.


Identifying opposite sides of the cubic room, thereby producing an ''r''-torus, yields an equivalent and at times more compelling visualization: now the particle always travels with velocity '''a''', and every time a boundary is crossed and the corresponding scale step recorded, the particle reappears on the other side instead of bouncing. Considering the lines parallel to '''a''' that do not yield a billiard scale &mdash; namely those that have a point that has multiple integer coordinates &mdash; subdivides the ''r''-torus into finitely many regions each of which gives rise to a billiard scale.
Identifying opposite sides of the cubic room, thereby producing a ''d''-torus, yields an equivalent and at times more compelling visualization: now the particle always travels with velocity '''a''', and every time a boundary is crossed and the corresponding scale step recorded, the particle reappears on the other side instead of bouncing. Considering the lines parallel to '''a''' that do not yield a billiard scale &mdash; namely those that have a point that has multiple integer coordinates &mdash; subdivides the ''d''-torus into finitely many regions each of which gives rise to a billiard scale.


=== Properties ===
=== Properties ===
Line 16: Line 16:
** That’s because projecting we just remove some of the αs from the list, leaving all remaining ones intact.
** That’s because projecting we just remove some of the αs from the list, leaving all remaining ones intact.
* Not all billiard words of arity higher than 2 are [[balance|balanced]]. (In binary scales, the term "(1-)balanced" becomes one characterization of the [[MOS]] property.) Ternary billiard scales that are 1-balanced are [[MV3]].<ref>Bulgakova, D. V., Buzhinsky, N., & Goncharov, Y. O. (2023). On balanced and abelian properties of circular words over a ternary alphabet. Theoretical Computer Science, 939, 227-236.</ref>
* Not all billiard words of arity higher than 2 are [[balance|balanced]]. (In binary scales, the term "(1-)balanced" becomes one characterization of the [[MOS]] property.) Ternary billiard scales that are 1-balanced are [[MV3]].<ref>Bulgakova, D. V., Buzhinsky, N., & Goncharov, Y. O. (2023). On balanced and abelian properties of circular words over a ternary alphabet. Theoretical Computer Science, 939, 227-236.</ref>
* An ''r''-ary billiard scale has [[balance]] at most (''r'' &minus; 1).<ref name="vuillon"/> However, scales of arity &ge; 3 satisfying this bound need not be billiard scales.
* A ''d''-ary billiard scale has [[balance]] at most (''d'' &minus; 1).<ref name="vuillon"/> However, scales of arity &ge; 3 satisfying this bound need not be billiard scales.
 
* An aperiodic ''d''-ary billiard scale has maximum variety at most 2<sup>''d''&minus;1</sup>.<ref name="andrieu">Mélodie Andrieu, Léo Vivion. Minimal Complexities for Infinite Words Written with d Letters. Com-
binatorics on Words - 14th International Conference, WORDS, Jun 2023, Umeå, Sweden. pp.3–13.</ref> Hence this bound must hold for periodic ''d''-ary billiard scales as well.
=== Determining whether a scale word is a billiard scale ===
=== Determining whether a scale word is a billiard scale ===
The following discussion documents a naive algorithm for answering whether a circular word ''s'' of arity ''r'' with velocity '''a''' = ∑<sub>''i''</sub> ''a''<sub>''i''</sub> '''e'''<sub>''i''</sub> ∈ ℤ<sup>''r''</sup> (representing the signature ''a''<sub>1</sub>''x''<sub>1</sub>...''a''<sub>''r''</sub>''x''<sub>''r''</sub>) is a billiard word:
The following discussion documents a naive algorithm for answering whether a circular word ''s'' of arity ''d'' with velocity '''a''' = ∑<sub>''i''</sub> ''a''<sub>''i''</sub> '''e'''<sub>''i''</sub> ∈ ℤ<sup>''d''</sup> (representing the signature ''a''<sub>1</sub>''x''<sub>1</sub>...''a''<sub>''d''</sub>''x''<sub>''d''</sub>) is a billiard word:


Consider the ''r''-dimensional prism ''P'' = ∏<sup>''r''</sup><sub>''i''=1</sub> [0, ''a''<sub>''i''</sub>]. Since the pattern in which the billiard line ''L'' = ''L''(''t'') = '''a'''''t'' + ''b'' hits the integer coordinate hyperplanes (i.e. the sets ''x''<sub>''i''</sub> = ''n'' for ''n'' ∈ ℤ) is periodic with period 1 in ''t'', we may first regard ''P'' as an ''r''-torus and ''L'' : ℝ → ''P'' as a periodic function with period 1.  Because ''s'' is a billiard word, ''L'' ''cannot'' meet any point '''q''' ∈ ℝ<sup>''r''</sup> where two coordinates are integers. Thus for two distinct integers ''i'' < ''j'' in {1, ..., ''r''}, any choice of two integers ''m''<sub>''i''</sub> ∈ {0, ..., ''a''<sub>''i''</sub>} and ''n''<sub>''j''</sub> ∈ {0, ..., ''b''<sub>''j''</sub>} corresponds to the affine hyperplane (which we call a ''constraint hyperplane'')
Consider the ''d''-dimensional prism ''P'' = ∏<sup>''d''</sup><sub>''i''=1</sub> [0, ''a''<sub>''i''</sub>]. Since the pattern in which the billiard line ''L'' = ''L''(''t'') = '''a'''''t'' + ''b'' hits the integer coordinate hyperplanes (i.e. the sets ''x''<sub>''i''</sub> = ''n'' for ''n'' ∈ ℤ) is periodic with period 1 in ''t'', we may first regard ''P'' as a ''d''-torus and ''L'' : ℝ → ''P'' as a periodic function with period 1.  Because ''s'' is a billiard word, ''L'' ''cannot'' meet any point '''q''' ∈ ℝ<sup>''d''</sup> where two coordinates are integers. Thus for two distinct integers ''i'' < ''j'' in {1, ..., ''d''}, any choice of two integers ''m''<sub>''i''</sub> ∈ {0, ..., ''a''<sub>''i''</sub>} and ''n''<sub>''j''</sub> ∈ {0, ..., ''b''<sub>''j''</sub>} corresponds to the affine hyperplane (which we call a ''constraint hyperplane'')


<math>H(m_i, n_j) = \operatorname{span}(\mathbf{a}, \mathbf{e}_1, ..., \hat{\mathbf{e}}_i, ..., \hat{\mathbf{e}}_j, ..., \mathbf{e}_r) + (m_i \mathbf{e}_i + n_j \mathbf{e}_j),</math>
<math>H(m_i, n_j) = \operatorname{span}(\mathbf{a}, \mathbf{e}_1, ..., \hat{\mathbf{e}}_i, ..., \hat{\mathbf{e}}_j, ..., \mathbf{e}_r) + (m_i \mathbf{e}_i + n_j \mathbf{e}_j),</math>
Line 27: Line 28:
where the circumflexes indicate that the ''i''th and ''j''th basis vectors are to be omitted. In particular, ''L'' and ''H''(''m''<sub>''i''</sub>, ''n''<sub>''j''</sub>) are disjoint for any ''i'' < ''j'', any ''m''<sub>''i''</sub> ∈ {0, ..., ''a''<sub>''i''</sub> &minus; 1}, and any ''n''<sub>''j''</sub> ∈ {0, ..., ''b''<sub>''j''</sub> &minus; 1}.
where the circumflexes indicate that the ''i''th and ''j''th basis vectors are to be omitted. In particular, ''L'' and ''H''(''m''<sub>''i''</sub>, ''n''<sub>''j''</sub>) are disjoint for any ''i'' < ''j'', any ''m''<sub>''i''</sub> ∈ {0, ..., ''a''<sub>''i''</sub> &minus; 1}, and any ''n''<sub>''j''</sub> ∈ {0, ..., ''b''<sub>''j''</sub> &minus; 1}.


Now, using the identifications '''e'''<sub>''i''</sub> = 0 for ''i'' in {1, ..., ''r''} on ''P'' results in a smaller ''r''-torus ''C'' whose fundamental domain in ℝ<sup>''r''</sup> is the unit cube ''C̄'' = ∏<sup>''r''</sup><sub>''i''=1</sub> [0, 1]. The path ''L'' descends to ''L'' : ℝ → ''C'' which is still periodic with period 1. The constraint hyperplanes also descend to ''C''. Now unwrap ''C'' into ''C̄'', and regard ''L'' as a subset of ''C̄'' that is partitioned into disjoint line segments that travel from one facet (i.e. an (''r'' &minus; 1)-dimensional face) of ''C̄'' to another. The reader is warned that to find (the images of) all of the constraint hyperplanes in ''C̄'', any constraint hyperplane that does not meet ''C̄'' should be shifted by integer increments in coordinates so that the shifted hyperplane does meet ''C̄''. The constraint hyperplanes partition ''C̄'' into finitely many regions (as they do for ''P''), and any valid billiard path ''L'' in ''C̄'' must meet len(''s'')-many of these regions before returning to its starting point.
Now, using the identifications '''e'''<sub>''i''</sub> = 0 for ''i'' in {1, ..., ''d''} on ''P'' results in a smaller ''d''-torus ''C'' whose fundamental domain in ℝ<sup>''d''</sup> is the unit cube ''C̄'' = ∏<sup>''d''</sup><sub>''i''=1</sub> [0, 1]. The path ''L'' descends to ''L'' : ℝ → ''C'' which is still periodic with period 1. The constraint hyperplanes also descend to ''C''. Now unwrap ''C'' into ''C̄'', and regard ''L'' as a subset of ''C̄'' that is partitioned into disjoint line segments that travel from one facet (i.e. an (''d'' &minus; 1)-dimensional face) of ''C̄'' to another. The reader is warned that to find (the images of) all of the constraint hyperplanes in ''C̄'', any constraint hyperplane that does not meet ''C̄'' should be shifted by integer increments in coordinates so that the shifted hyperplane does meet ''C̄''. The constraint hyperplanes partition ''C̄'' into finitely many regions (as they do for ''P''), and any valid billiard path ''L'' in ''C̄'' must meet len(''s'')-many of these regions before returning to its starting point.


Now we use the projection π, a linear map on ℝ<sup>''r''</sup> whose kernel is generated by '''a''', to project ''C̄'' to an (''r'' &minus; 1)-dimensional convex polytope π(''C̄''). The constraint hyperplanes now become (''r'' &minus; 2)-dimensional hyperplanes that partition π(''C̄'') into finitely many convex regions. The components of ''L'' now become points in π(''C̄''), and each region in the partition has at most one point of π(''L''). When ''L'' hits an integer coordinate hyperplane ''x''<sub>''i''</sub> = (some integer), the corresponding point in π(''L'') now shifts by &minus;π('''e'''<sub>''i''</sub>), since the corresponding point in ''C̄'' must undergo a shift by &minus;'''e'''<sub>''i''</sub> upon ''L'' hitting the coordinate hyperplane. Since ''L'' hits len(''s'') coordinate hyperplanes before returning to its starting region, if we choose any point in π(''L'') and shift it len(''s'') times, each corresponding to the coordinate of the hyperplane hit by ''L''. To find all billiard scales with signature '''a''', we simply iterate the procedure described in the previous sentence over all regions in the partition we obtained in π(''C̄''); we may choose the centroid of the region (which is a convex polytope) as the starting point of π(''L'').
Now we use the projection π, a linear map on ℝ<sup>''d''</sup> whose kernel is generated by '''a''', to project ''C̄'' to an (''d'' &minus; 1)-dimensional convex polytope π(''C̄''). The constraint hyperplanes now become (''d'' &minus; 2)-dimensional hyperplanes that partition π(''C̄'') into finitely many convex regions. The components of ''L'' now become points in π(''C̄''), and each region in the partition has at most one point of π(''L''). When ''L'' hits an integer coordinate hyperplane ''x''<sub>''i''</sub> = (some integer), the corresponding point in π(''L'') now shifts by &minus;π('''e'''<sub>''i''</sub>), since the corresponding point in ''C̄'' must undergo a shift by &minus;'''e'''<sub>''i''</sub> upon ''L'' hitting the coordinate hyperplane. Since ''L'' hits len(''s'') coordinate hyperplanes before returning to its starting region, if we choose any point in π(''L'') and shift it len(''s'') times, each corresponding to the coordinate of the hyperplane hit by ''L''. To find all billiard scales with signature '''a''', we simply iterate the procedure described in the previous sentence over all regions in the partition we obtained in π(''C̄''); we may choose the centroid of the region (which is a convex polytope) as the starting point of π(''L'').


== See also ==
== See also ==