Edit: fixed misaligned indentation for "Update x and y by", below. I also had two little ideas that might help.
- consider first the case where the digit 7 is not allowed, simplifying the algorithm as then there are no signed_distance changes in the algorithm.
- digit traversal: to prove e.g. the action of (12) is equivalent to the action $\sigma_K$, track the movement of a random number through the algorithm and and consider where we land when we encounter a 1 and where we would land instead if it were a 2. This should be symmetrical to the K-axis.
Introduction to the Problem:
I'm investigating the equivalence between two distinct group actions on a particular algebra over the reals $ A(F_n)$, where $F_n$ is defined as the set of numbers whose octal representation consists of $ n $ digits chosen from the set $ \{1, 2, 4, 7\} $. Each element of $ F_n $ uniquely corresponds to the centroid of a subtriangle in a tiling of an equilateral triangle. These numbers exhibit a group structure known as "floretions", however, for the restricted question posed below, we will never need to actually perfom this multiplication.
Algorithm to Place Centroid of a Number:
To associate each element $ b $ in $ F_n $ with a unique centroid of a subtriangle in the tiling of an equilateral triangle, we can use the following algorithm:
- Initialize $ (x, y) $ coordinates at (0,0) in the plane or at the center of a canvas of dimensions $ \text{height} \times \text{width} $.
- Initialize a variable $ \text{distance} = \text{height} $ and $ \text{sign_distance} = -1 $.
- For each octal digit $ d $ in $ b $, starting from the most significant digit and to the least significant digit:
- If $ d = 7 $, multiply $ \text{sign_distance} $ by $ -1 $.
- Otherwise, set angle $ \theta $ based on $ d $ as follows:
- $ d = 1 $: $ \theta = 210^\circ $
- $ d = 2 $: $ \theta = 90^\circ $
- $ d = 4 $: $ \theta = 330^\circ $
- Update $ x $ and $ y $ by:
$x = x + \cos(\theta) \times \text{distance} \times \text{sign_distance}$, $y = y + \sin(\theta) \times \text{distance} \times \text{sign_distance}$
- Halve $ \text{distance} $ for the next iteration.
- The final $ (x, y) $ coordinates and $ 2 \times \text{distance} $ give the centroid and height of the associated subtriangle, respectively.
In Python
def place_base_vecs(base_vector):
# For each base vector of a given order, returns the
# coordinates of the center (centroid) of the
# equilateral triangle associated with it, along
# with the final distance that determines
# the triangle height.
# Args:
# base_vector (str):
# The base vector in octal representation.
# Returns:
# tuple: x, y coordinates, final distance
# place x and y in the middle of the canvas
x, y = self.height // 2, self.width // 2
distance = self.height
sign_distance = -1
# starts with most significant digit
for digit in base_vector:
if digit == '7':
sign_distance *= -1
else:
if digit == '1':
angle = 210
elif digit == '2':
angle = 90
elif digit == '4':
angle = 330
else:
print(f"Invalid digit {digit}")
return
x += np.cos(np.radians(angle)) * distance * sign_distance
y += np.sin(np.radians(angle)) * distance * sign_distance
distance /= 2 # Halve the distance for the next iteration
return x, y, 2 * distance
Definitions and Notation:
- Dihedral Group $ D_3 $: $ \{ R_0, R_{120}, R_{240}, \sigma_I, \sigma_J, \sigma_K \} $ (rotations and reflections).
- Symmetric Group $ S_3 $: $ \{ (12), (24), (41), (124), (142), (7) \} $
Problem Statement:
Consider two group actions on $ A(F_n) $:
- Group Action 1: $ D_3 \times A(F_n) \rightarrow A(F_n) $ (Rotation and reflection of the corresponding centroids in the plane). For $n=3$, $\sigma_K $ is a flip along the axis below (consisting of all tiles with digits 7 and 4 only)
- Group Action 2: $ S_3 \times A(F_n) \rightarrow A(F_n) $ (Permutation of the octal digits). E.g. (12).(741 + 221) = 742 + 112
Is it possible to show that these two group actions are essentially the same by analysing the algorithm?
Example for $ n = 3 $ and x = 111 + 222:
- Stabilizer under $ D_3 $: $ \text{Stab}_{D3}(x) = \{ \text{id}, \sigma_K \} $
- Stabilizer under $ S_3 $: $ \text{Stab}_{S3}(x) = \{ (7), (12) \} $