secondary revisions to permutations
This commit is contained in:
parent
9b8f133133
commit
d833f66ebb
@ -14,6 +14,11 @@ categories:
|
||||
- sorting algorithms
|
||||
---
|
||||
|
||||
<style>
|
||||
.narrow {
|
||||
max-width: 512px;
|
||||
}
|
||||
</style>
|
||||
|
||||
In the time since [my last post](../chebyshev/2) discussing graphs,
|
||||
I have been spurred on to continue playing with them, with a slight focus on abstract algebra.
|
||||
@ -53,7 +58,7 @@ There is a group element for each permutation, so the order of the group is the
|
||||
On the other hand, the lists differ in the first element and cannot be equal.
|
||||
|
||||
Sets are still useful as a container.
|
||||
For example, the elements of a group unordered.
|
||||
For example, the elements of a group are unordered.
|
||||
To keep vocabulary simple, I will do my best to refer to objects in a group as
|
||||
"group elements" and the objects in a list as "items".
|
||||
</details>
|
||||
@ -74,7 +79,7 @@ Take the element of $S_3$ which can be described as the action
|
||||
Our canonical list in this case is $[1, 2, 3]$, matching the degree of the group.
|
||||
This results in $[3, 1, 2]$, since "1" is in now in position two, and similarly for the other items.
|
||||
|
||||
Unfortunately, this choice is too results-oriented.
|
||||
Unfortunately, this choice is too result-oriented.
|
||||
This choice makes it difficult to compose group elements in a meaningful way, since all
|
||||
of the information about the permutation is in the position of items in the list,
|
||||
rather than the items of the list themselves.
|
||||
@ -84,20 +89,19 @@ For example, under the same rule, $[c, b, a]$ is mapped to $[a, c, b]$.
|
||||
### True List Notations (Two- and One-line Notation)
|
||||
|
||||
Instead, let's go back to the definition of the element.
|
||||
We have pairs of indices before and after the permutation is applied.
|
||||
All we have to do is list out every index on one line, then the destination
|
||||
of every index on the next.
|
||||
This is known as *two-line notation*.
|
||||
|
||||
$$
|
||||
\begin{bmatrix}
|
||||
\begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
p(1) & p(2) & p(3)
|
||||
\end{bmatrix}
|
||||
= \begin{bmatrix}
|
||||
\end{pmatrix}
|
||||
= \begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
2 & 3 & 1
|
||||
\end{bmatrix}
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
For simplicity, the first row is kept as a list whose items match their indices.
|
||||
@ -107,18 +111,18 @@ All we have to do is sort the columns of the permutation by the second row,
|
||||
then swap the two rows.
|
||||
|
||||
$$
|
||||
\begin{bmatrix}
|
||||
\begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
2 & 3 & 1
|
||||
\end{bmatrix}^{-1}
|
||||
= \begin{bmatrix}
|
||||
\end{pmatrix}^{-1}
|
||||
= \begin{pmatrix}
|
||||
3 & 1 & 2 \\
|
||||
1 & 2 & 3
|
||||
\end{bmatrix}^{-1}
|
||||
= \begin{bmatrix}
|
||||
\end{pmatrix}^{-1}
|
||||
= \begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
3 & 1 & 2
|
||||
\end{bmatrix} =
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
Note that the second row is now the same as the result from the naive notation.
|
||||
@ -129,14 +133,14 @@ The *n*th item in the list now describes the position in which *n* can be found
|
||||
the permutation.
|
||||
|
||||
$$
|
||||
\begin{bmatrix}
|
||||
\begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
2 & 3 & 1
|
||||
\end{bmatrix}
|
||||
\end{pmatrix}
|
||||
\equiv [\![2, 3, 1]\!]
|
||||
$$
|
||||
|
||||
Double brackets are used to distinguish this as a pertation from ordinary lists.
|
||||
Double brackets are used to distinguish this as a permutation and not an ordinary list.
|
||||
|
||||
These notations make it straightforward to encode symmetric group elements on a computer.
|
||||
After all, we only have to read the items of a list by the indices in another.
|
||||
@ -147,7 +151,7 @@ Here's a compact definition in Haskell:
|
||||
newtype Permutation = P { unP :: [Int] }
|
||||
|
||||
apply :: Permutation -> [a] -> [a]
|
||||
apply = flip $ (\xs ->
|
||||
apply = flip (\xs ->
|
||||
map ( -- for each item of the permutation, map it to...
|
||||
(xs !!) -- the nth item of the first list
|
||||
. (+(-1)) -- (indexed starting with 1)
|
||||
@ -155,7 +159,7 @@ apply = flip $ (\xs ->
|
||||
-- written in a non-point free form
|
||||
apply' (P xs) ys = map ( \n -> ys !! (n-1) ) xs
|
||||
|
||||
print $ (P [2,3,1]) `apply` [1,2,3]
|
||||
print $ P [2,3,1] `apply` [1,2,3]
|
||||
```
|
||||
|
||||
Note that this means `P [2,3,1]` is actually equivalent to $[\![2, 3, 1]\!]^{-1}$,
|
||||
@ -175,29 +179,29 @@ The verbosity of these notations also makes composing group elements difficult[^
|
||||
by looking at the first and last rows.
|
||||
For example, with group inverses:
|
||||
$$
|
||||
\begin{bmatrix}
|
||||
\begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
2 & 3 & 1
|
||||
\end{bmatrix}
|
||||
\begin{bmatrix}
|
||||
\end{pmatrix}
|
||||
\begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
2 & 3 & 1
|
||||
\end{bmatrix}^{-1}
|
||||
\end{pmatrix}^{-1}
|
||||
= \begin{matrix}
|
||||
\begin{bmatrix}
|
||||
\begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
2 & 3 & 1
|
||||
\end{bmatrix}
|
||||
\cancel{2} & \cancel{3} & \cancel{1}
|
||||
\end{pmatrix}
|
||||
\\
|
||||
\begin{bmatrix}
|
||||
2 & 3 & 1 \\
|
||||
\begin{pmatrix}
|
||||
\cancel{2} & \cancel{3} & \cancel{1} \\
|
||||
1 & 2 & 3
|
||||
\end{bmatrix}
|
||||
\end{pmatrix}
|
||||
\end{matrix}
|
||||
= \begin{bmatrix}
|
||||
= \begin{pmatrix}
|
||||
1 & 2 & 3 \\
|
||||
1 & 2 & 3
|
||||
\end{bmatrix}
|
||||
\end{pmatrix}
|
||||
$$
|
||||
|
||||
|
||||
@ -205,17 +209,24 @@ The verbosity of these notations also makes composing group elements difficult[^
|
||||
|
||||
*Cycle notation* addresses all of these issues, but gets rid of the transparency with respect to lists.
|
||||
Let's try phrasing the element we've been describing differently.
|
||||
|
||||
> assign the first item to the second index, the second to the third, and the third to the first
|
||||
|
||||
We start at index 1 and follow it to index 2, and from there follow it to index 3.
|
||||
Continuing from index 3, we return to 1, and continuing in this manner would go on forever.
|
||||
Continuing from index 3, we return to index 1, and from then we'd loop forever.
|
||||
This describes a *cycle*, denoted as $(1 ~ 2 ~ 3)$.
|
||||
|
||||
Cycle notation is much more delicate than list notation, since the notation is nonunique:
|
||||
|
||||
- Naturally, the elements of a cycle may be cycled to produce an equivalent ones.
|
||||
- Naturally, the elements of a cycle may be cycled to produce an equivalent one.
|
||||
- $(1 ~ 2 ~ 3) = (3 ~ 1 ~ 2) = (2 ~ 3 ~ 1)$
|
||||
- Cycles which have no common elements (i.e., are disjoint) commute, since they act on separate parts of the list.
|
||||
- Cycles which have no common elements (i.e., are disjoint) commute,
|
||||
since they act on separate parts of the list.
|
||||
- $(1 ~ 2 ~ 3)(4 ~ 5) = (4 ~ 5)(1 ~ 2 ~ 3)$
|
||||
|
||||
|
||||
#### Cycle Algebra
|
||||
|
||||
The true benefit of cycles is that they are easy to manipulate algebraically.
|
||||
For some reason, [Wikipedia](https://en.wikipedia.org/wiki/Permutation#Cycle_notation)
|
||||
does not elaborate on the composition rules for cycles,
|
||||
@ -226,7 +237,7 @@ While playing around with them and deriving these rules oneself *is* a good idea
|
||||
- Cycles can be inverted by reversing their order.
|
||||
- $(1 ~ 2 ~ 3)^{-1} = (3 ~ 2 ~ 1) = (1 ~ 3 ~ 2)$
|
||||
- Cycles may be composed if the last element in the first is the first index on the right.
|
||||
Inversely, cycles may also be decomposed by partitioning it on an index and duplicating.
|
||||
Inversely, cycles may also be decomposed by partitioning on an index and duplicating.
|
||||
- $(1 ~ 2 ~ 3) = (1 ~ 2)(2 ~ 3)$
|
||||
- If an index in a cycle is repeated twice, it may be omitted from the cycle.
|
||||
- $(1 ~ 2 ~ 3)(1 ~ 3) = (1 ~ 2 ~ 3)(3 ~ 1) = (1 ~ 2 ~ 3 ~ 1) = (1 ~ 1 ~ 2 ~ 3) = (2 ~ 3)$
|
||||
@ -234,9 +245,9 @@ While playing around with them and deriving these rules oneself *is* a good idea
|
||||
Going back to $(1 ~ 2 ~ 3)$, if we apply this permutation to the list $[1, 2, 3]$:
|
||||
|
||||
$$
|
||||
(1 ~ 2 ~ 3) \left( \vphantom{0 \over 1} [1, 2, 3] \right)
|
||||
= (1 ~ 2)(2 ~ 3) \left( \vphantom{0 \over 1} [1, 2, 3] \right)
|
||||
= (1 ~ 2) \left( \vphantom{0 \over 1} [1, 3, 2] \right)
|
||||
(1 ~ 2 ~ 3) \left( \vphantom{0^{0^0}} [1, 2, 3] \right)
|
||||
= (1 ~ 2)(2 ~ 3) \left( \vphantom{0^{0^0}} [1, 2, 3] \right)
|
||||
= (1 ~ 2) \left( \vphantom{0^{0^0}} [1, 3, 2] \right)
|
||||
= [3, 1, 2]
|
||||
$$
|
||||
|
||||
@ -250,7 +261,7 @@ If we have a group *G*, then we can select a set of elements
|
||||
$\langle g_1, g_2, g_3, ... \rangle$ as *generators*.
|
||||
If we form all possible products -- not only the pairwise ones $g_1 g_2$,
|
||||
but also $g_1 g_2 g_3$ and all powers of any $g_n$ -- then the products form a subgroup of *G*.
|
||||
Naturally, the set is called a *generating set*.
|
||||
Naturally, such a set is called a *generating set*.
|
||||
|
||||
Symmetric groups are of primary interest because of their subgroups, also known as permutation groups.
|
||||
[Cayley's theorem](https://en.wikipedia.org/wiki/Cayley%27s_theorem),
|
||||
@ -295,12 +306,12 @@ In this algorithm, we swap two items when the latter is less than the former,
|
||||
looping over the list until it is sorted.
|
||||
Until the list is sorted, the algorithm finds all such adjacent inversions.
|
||||
In the worst case, it will swap every pair of adjacent items, some possibly multiple times.
|
||||
This corresponding to the generating set
|
||||
This corresponds to the generating set
|
||||
$\langle (1 ~ 2), (2 ~ 3), (3 ~ 4), (4 ~ 5), …, (n-1 ~\ ~ n) \rangle$.
|
||||
|
||||

|
||||
](./bubble_sort.gif){.narrow}
|
||||
|
||||
|
||||
### Selection Sort
|
||||
@ -315,7 +326,7 @@ Continuing until the last item, this gives the generating set
|
||||
|
||||

|
||||
](./selection_sort.gif){.narrow}
|
||||
|
||||
This behavior for selection sort is uncommon, and this animation omits the selection of a swap candidate.
|
||||
The animation below shows a more destructive selection sort, in which the
|
||||
@ -326,7 +337,7 @@ Once the algorithm hits the end of the list, the candidate is swapped to the lea
|
||||

|
||||
](./destructive_selection_sort.gif){.narrow}
|
||||
|
||||
|
||||
Swap Diagrams
|
||||
@ -391,7 +402,7 @@ In other words, if we have have two adjacent edges, the new edge corresponds to
|
||||
a product of elements from the generating set.
|
||||
Graph theory has a name for this operation: when we produce *all* new edges by linking vertices
|
||||
that were separated by a distance of 2, the result is called the *square of that graph*.
|
||||
In fact, [higher graph](https://en.wikipedia.org/wiki/Graph_power) powers will reflect connections
|
||||
In fact, higher [graph powers](https://en.wikipedia.org/wiki/Graph_power) will reflect connections
|
||||
induced by more conjugations of adjacent edges.
|
||||
|
||||
 powers will r
|
||||
](./P4_powers.png)
|
||||
|
||||
If our graph is connected, then repeating this operation will tend toward a complete graph.
|
||||
Complete graphs contain every possible edge, and correspond to all possible 2-cycles,
|
||||
which in turn generate the symmetric group.
|
||||
Conversely, if a graph has *n* vertices, then for it to be connected, it must have at least $n-1$ edges.
|
||||
Thus, a generating set of 2-cycles must have at least $n-1$ items to generate the symmetric group.
|
||||
Complete graphs contain every possible edge, and so correspond to all possible 2-cycles,
|
||||
which trivially generate the symmetric group.
|
||||
Conversely, if a graph has *n* vertices, then for it to be connected, it must have at least $n - 1$ edges.
|
||||
Thus, a generating set of 2-cycles must have at least $n - 1$ items to generate the symmetric group.
|
||||
|
||||
Picking a different vertex labelling will correspond to a different generating set.
|
||||
For example, in the image of $P_4$ above, if the edge connecting vertices 1 and 2
|
||||
@ -423,11 +434,12 @@ Under graph powers, we know that each connected graph tends toward a complete gr
|
||||
But what groups do cluster graphs correspond to?
|
||||
|
||||
The simplest case to consider is what happens when the graph is $P_2 \oplus P_2$.
|
||||
One of the generating sets it corresponds to is $\langle (1 ~ 2), (3 ~ 4) \rangle$, a pair of disjoint cycles.
|
||||
The group they generate is
|
||||
If there is an edge connecting vertices 1 and 2 and an edge connecting vertices 3 and 4,
|
||||
it corresponds to the generating set $\langle (1 ~ 2), (3 ~ 4) \rangle$.
|
||||
This is a pair of disjoint cycles, and the group they generate is
|
||||
|
||||
$$
|
||||
\{id, (1 ~ 2), (3 ~ 4), (1 ~ 2)(3 ~ 4) \}
|
||||
\{e, (1 ~ 2), (3 ~ 4), (1 ~ 2)(3 ~ 4) \}
|
||||
\cong S_2 \times S_2
|
||||
\cong C_2 \times C_2
|
||||
$$
|
||||
@ -438,16 +450,17 @@ One way to look at this is by considering paths on each component:
|
||||
or both at the same time.
|
||||
This independence means that one group's structure is duplicated over the other's,
|
||||
or more succinctly, gives the direct product.
|
||||
In general, if we denote γ as the map which "runs" the swap diagram and produces the group, then
|
||||
In general, if we denote *γ* as the map which "runs" the swap diagram and produces the group, then
|
||||
|
||||
$$
|
||||
\gamma( A \oplus B ) = S_{|A|} \times S_{|B|}, ~ A, B \text{ connected}
|
||||
\gamma( A \oplus B ) = S_{|A|} \times S_{|B|},
|
||||
~ A, B \text{ connected}
|
||||
$$
|
||||
|
||||
where $|A|$ is the number of vertices in *A*.
|
||||
|
||||
γ has the interesting property of mapping a sum-like object onto a product-like object.
|
||||
If we express a disconnected graph *U* as the disjoint union of its connected components $V_i$
|
||||
*γ* has the interesting property of mapping a sum-like object onto a product-like object.
|
||||
If we express a disconnected graph *U* as the disjoint union of its connected components $V_i$, then
|
||||
|
||||
$$
|
||||
\begin{gather*}
|
||||
@ -457,7 +470,7 @@ $$
|
||||
\end{gather*}
|
||||
$$
|
||||
|
||||
Which takes care of every simple graph.
|
||||
This describes *γ* for every simple graph.
|
||||
It also shows that we're rather limited in the kinds of groups which can be expressed by a swap diagram.
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
---
|
||||
title: "A Game of Permutations, Part 2"
|
||||
description: |
|
||||
Notes on permutohedra and some very large graphs.
|
||||
Notes on an operation which makes some very large graphs.
|
||||
format:
|
||||
html:
|
||||
html-math-method: katex
|
||||
@ -13,6 +13,12 @@ categories:
|
||||
- group theory
|
||||
---
|
||||
|
||||
<style>
|
||||
.narrow {
|
||||
max-width: 640px;
|
||||
}
|
||||
</style>
|
||||
|
||||
```{python}
|
||||
#| echo: false
|
||||
|
||||
@ -45,13 +51,6 @@ The resulting figure is known as a [Cayley graph](https://mathworld.wolfram.com/
|
||||
It is also common to describe an unlabelled graph as "Cayley" if it could
|
||||
be generated by this procedure.
|
||||
|
||||
Owing to the way in which they are defined, Cayley graphs have a few useful properties as graphs.
|
||||
At every vertex, we have as many outward edges as we do generators in the generating set,
|
||||
so the outward (and in fact, inward) degree of each vertex is the same.
|
||||
In other words, it is a regular graph.
|
||||
More than that, it is [vertex-transitive](https://mathworld.wolfram.com/Vertex-TransitiveGraph.html),
|
||||
since labelling a single vertex's outward edges will label that of the entire graph.
|
||||
|
||||
Cayley graphs depend on the generating set used, so they can take a wide variety of shapes.
|
||||
Here are a few examples of Cayley graphs made from elements of $S_4$:
|
||||
|
||||
@ -62,6 +61,13 @@ Here are a few examples of Cayley graphs made from elements of $S_4$:
|
||||
Generating sets obtained from the previous MathWorld article.
|
||||
](./s4_cayley_graphs.png)
|
||||
|
||||
Owing to the way in which they are defined, Cayley graphs have a few useful properties as graphs.
|
||||
At every vertex, we have as many outward edges as we do generators in the generating set,
|
||||
so the outward (and in fact, inward) degree of each vertex is the same.
|
||||
In other words, it is a regular graph.
|
||||
More than that, it is [vertex-transitive](https://mathworld.wolfram.com/Vertex-TransitiveGraph.html),
|
||||
since labelling a single vertex's outward edges will label that of the entire graph.
|
||||
|
||||
In general, the Cayley graph is a directed graph.
|
||||
However, if for every member of the generating set, we also include its inverse,
|
||||
every directed edge will be matched by an edge in the opposite direction,
|
||||
@ -74,30 +80,32 @@ Graphs to Graphs
|
||||
All 2-cycles are their own inverse, so generating sets which include only them
|
||||
produce undirected Cayley graphs.
|
||||
Since this kind of generating set can itself be thought of as a graph,
|
||||
we may consider an operation from graphs to graphs that maps a swap diagram to its Cayley graph.
|
||||
we may consider an operation on graphs that maps a swap diagram to its Cayley graph.
|
||||
|
||||

|
||||
|
||||
I've taken to calling this operation the "graph exponential"[^1] because of its apparent relationship
|
||||
with the disjoint union.
|
||||
Namely, it seems to be the case that $\exp( A \oplus B ) = \exp( A ) \times \exp( B )$,
|
||||
where $\times$ signifies the
|
||||
It seems to be the case that $\exp( A \oplus B ) = \exp( A ) \times \exp( B )$,
|
||||
where $\oplus$ signifies the disjoint uinion and $\times$ signifies the
|
||||
[Cartesian (box) product of graphs](https://en.wikipedia.org/wiki/Cartesian_product_of_graphs)[^2].
|
||||
|
||||
[^1]: Originally, I called this operation the "graph factorial", since it involves permutations
|
||||
and the number of vertices in the resulting graph grows factorially.
|
||||
Unlike *γ* from the previous post, both the input and output of this operation are graphs.
|
||||
Because of this and the sum/product relationship, I've taken to calling this operation the
|
||||
"graph exponential"[^3].
|
||||
|
||||
[^2]: Graphs have many product structures, such as the tensor product and strong product.
|
||||
The Cartesian product is (categorically) more natural when paired with disjoint unions.
|
||||
|
||||
[^3]: Originally, I called this operation the "graph factorial", since it involves permutations
|
||||
and the number of vertices in the resulting graph grows factorially.
|
||||
|
||||
This operation is my own invention, so I am unsure whether or not
|
||||
it constitutes anything useful.
|
||||
In fact, the possible graphs grow so rapidly that computing anything about the exponential
|
||||
of order 8 graphs starts to overwhelm a single computer.
|
||||
It is, however, interesting, as I will hopefully be able to convince.
|
||||
|
||||
A random graph will not generally correspond to an interesting generating set,
|
||||
and therefore, will also generally have an uninteresting exponential graph.
|
||||
@ -109,71 +117,79 @@ They are among the simplest graphs one can consider, and as we will see shortly,
|
||||
Some Small Exponential Graphs
|
||||
-----------------------------
|
||||
|
||||
Because of [the difficulty in determining graph isomorphism](https://en.wikipedia.org/wiki/Graph_isomorphism_problem),
|
||||
it is challenging for a computer to find a graph in an encyclopedia.
|
||||
Because of [the difficulty in determining graph isomorphism](
|
||||
https://en.wikipedia.org/wiki/Graph_isomorphism_problem
|
||||
), it is challenging for a computer to find a graph in an encyclopedia.
|
||||
Computers think of graphs as a list of vertices and their outward edges,
|
||||
but this implementation faces inherent labelling issues.
|
||||
These persist even if the graph is described as a list of (un)ordered pairs,
|
||||
an adjacency matrix, or an incidence matrix,
|
||||
the latter two of which have very large memory footprints.
|
||||
I was able to locate a project named the
|
||||
[Encyclopedia of Finite Graphs](https://github.com/thoppe/Encyclopedia-of-Finite-Graphs),
|
||||
but it is only able to build a database simple connected graphs which
|
||||
can be queried by invariants (and is outdated since it uses Python 2).
|
||||
the latter two of which have very large memory footprints[^4].
|
||||
|
||||
[^4]: I was able to locate a project named the
|
||||
[Encyclopedia of Finite Graphs](https://github.com/thoppe/Encyclopedia-of-Finite-Graphs),
|
||||
but it is only able to build a database simple connected graphs which
|
||||
can be queried by invariants (and is outdated since it uses Python 2).
|
||||
|
||||
However, as visual objects, humans can compare graphs fairly easily
|
||||
-- the name means "drawing" after all.
|
||||
Exponentials of 3- and 4-graphs are neither so small as to be uninteresting
|
||||
Exponentials of order 3 and order 4 graphs are neither so small as to be uninteresting
|
||||
nor so big as to be unparsable by humans.
|
||||
|
||||
|
||||
### Order 3
|
||||
|
||||

|
||||
{.narrow}
|
||||
|
||||
At this stage, we only really have two graphs to consider, since $P_3 = \bigstar_3$.
|
||||
Immediately, one can see that $\exp( P_3 ) = \exp( \bigstar_3 ) = C_6$,
|
||||
the 6-cycle graph (or hexagonal graph).
|
||||
It is also apparent that $\exp( K_3 )$ is the utility graph, $K_{3,3}$.
|
||||
|
||||

|
||||

|
||||
|
||||
We can again demonstrate the sum rule of the graph exponential with $\exp( P_3 \oplus P_2 )$.
|
||||
Here, we can again demonstrate the sum rule of the graph exponential with $\exp( P_3 \oplus P_2 )$.
|
||||
Simplifying, since we know $\exp( P_3 ) = C_6$, the result is $C_6 \times P_2 = \text{Prism}_6$,
|
||||
the hexagonal prism graph.
|
||||
|
||||
|
||||
### Order 4 (and beyond)
|
||||
|
||||
::: {layout-ncol="2"}
|
||||
::: {layout="[[1,1],[1]]"}
|
||||

|
||||
|
||||

|
||||
:::
|
||||
|
||||

|
||||

|
||||
:::
|
||||
|
||||
With some effort, $\exp( P_4 )$ can be imagined as a projection of a 3D object,
|
||||
the [truncated octahedron](https://en.wikipedia.org/wiki/Truncated_octahedron).
|
||||
Because of its correspondence to a 3D solid, this graph is planar.
|
||||
Both the hexagon and this solid belong to a class of polytopes called
|
||||
[*permutohedra*](https://en.wikipedia.org/wiki/Permutohedron), which are figures
|
||||
that are also formed by permutations of the coordinate (1, 2, 3, ..., *n*) in Euclidean space.
|
||||
In fact, they are able to completely tessellate the $n-1$ dimensional subspace of
|
||||
$\mathbb{R}^n$ where the coordinates sum to the $n-1$th triangular number.
|
||||
Note that the previous graph in the sequence of $\exp(P_n)$, the hexagonal graph,
|
||||
is visible in the truncated octahedron.
|
||||
This corresponds to the projection $(x,y,z,w) \mapsto (x,y,z)$ over
|
||||
the coordinates of the permutohedra.
|
||||
|
||||
that are also formed by permutations of the coordinate (1, 2, 3, ..., *n*) in Euclidean space[^5].
|
||||
Technically, there is a distinction between the Cayley graphs and permutohedra
|
||||
since their labellings differ.
|
||||
Both have edges generated by swaps, but in the latter case, the connected vertices are expected to be
|
||||
separated by a certain Euclidean distance.
|
||||
More information about the distinction can be found at this article on
|
||||
[Wikimedia](https://commons.wikimedia.org/wiki/Category:Permutohedron_of_order_4_%28raytraced%29#Permutohedron_vs._Cayley_graph)[^3].
|
||||
separated by a certain distance.
|
||||
More information about the distinction can be found at this article on [Wikimedia](
|
||||
https://commons.wikimedia.org/wiki/Category:Permutohedron_of_order_4_%28raytraced%29#Permutohedron_vs._Cayley_graph
|
||||
)[^6].
|
||||
|
||||
[^3]: Actually, if one considers a *right* Cayley graph, where each generator is right-multiplied
|
||||
[^5]: In fact, these figures are able to completely tessellate the $n-1$ dimensional subspace of
|
||||
$\mathbb{R}^n$ where the coordinates sum to the $n-1$th triangular number.
|
||||
Note also that the previous graph in the sequence of $\exp(P_n)$, the hexagonal graph,
|
||||
is visible in the truncated octahedron.
|
||||
This corresponds to the projection $(x,y,z,w) \mapsto (x,y,z)$ over
|
||||
the coordinates of the permutohedra.
|
||||
|
||||
[^6]: Actually, if one considers a *right* Cayley graph, where each generator is right-multiplied
|
||||
to the permutation at a node rather than left-multiplied, then a true correspondence is obtained,
|
||||
at least for order 4.
|
||||
|
||||
@ -193,12 +209,13 @@ It is certainly *not* isomorphic to $K_{4,4}$, since this graph has 8 vertices,
|
||||
as opposed to 24 in $\exp( K_4 )$.
|
||||
|
||||
|
||||
### Graph Invariants
|
||||
Graph Invariants
|
||||
----------------
|
||||
|
||||
While I have managed to identify the families to which some of these graphs belong,
|
||||
I am rather fond of computing (and conjecturing) sequences from objects.
|
||||
Not only is it much easier to consult something like the OEIS for these quantities,
|
||||
but when finding a matching sequence, there are ample articles to consult for more information.
|
||||
Not only is it much easier to consult something like [the OEIS](https://oeis.org/) for these quantities,
|
||||
but after finding a matching sequence, there are ample articles to consult for more information.
|
||||
By linking to their respective entries, I hope you'll consider reading more there.
|
||||
|
||||
Even though I have obtained these values empirically, I am certain that the sequences for
|
||||
@ -206,9 +223,9 @@ Even though I have obtained these values empirically, I am certain that the sequ
|
||||
I also have great confidence in the sequences I found for $\exp( K_n )$.
|
||||
|
||||
|
||||
#### Edge Counts
|
||||
### Edge Counts
|
||||
|
||||
Despite knowing how many vertices there are ($n!$, the order of the symmetric group),
|
||||
Despite knowing how many vertices there are (*n*!, the order of the symmetric group),
|
||||
we don't necessarily know how many edges there are.
|
||||
|
||||
```{python}
|
||||
@ -246,7 +263,7 @@ Markdown(tabulate(
|
||||
```
|
||||
|
||||
|
||||
#### Radius and Distance Classes
|
||||
### Radius and Distance Classes
|
||||
|
||||
The radius of a graph is the smallest possible distance which separates two maximally-separated vertices.
|
||||
Due to vertex transitivity, the greatest distance between two vertices is the same for every vertex.
|
||||
@ -291,7 +308,7 @@ Including the vertex itself (which is distance 0 away), there will be $r + 1$ su
|
||||
where *r* is the radius.
|
||||
These classes are the same for every vertex due to transitivity.
|
||||
|
||||
In the case of these graphs, they are a partition of the factorial numbers.
|
||||
In the case of these graphs, they are a partition of *n*!.
|
||||
|
||||
```{python}
|
||||
#| echo: false
|
||||
@ -379,15 +396,14 @@ It seems to be the case that $\exp( K_n )$ are also integral graphs.
|
||||
Perplexingly, the multiplicities for each of the eigenvalues appear to mostly be perfect powers.
|
||||
This is the case until n = 8, which ruins the pattern because neither of
|
||||
$9864 = 2^3 \cdot 3^2 \cdot 137$ or $6125 = 5^3 \cdot 7^2$ are perfect powers.
|
||||
I find both this and the fact that such a large prime appears among the factorization
|
||||
of the former rather creepy[^4].
|
||||
All other primes appearing in the factorization of the other numbers are small -- 2, 3, 5, and 7.
|
||||
I find both this[^7] and the fact that such a large prime appears among the factorization of the former
|
||||
rather creepy since all other primes which appear here are small -- 2, 3, 5, and 7.
|
||||
|
||||
[^4]: Some physicists are fond of 137 for its closeness to the reciprocal
|
||||
of the fine structure constant (a bit of harmless numerology).
|
||||
[^7]: Some physicists are fond of 137 for its closeness to the reciprocal
|
||||
of the fine structure constant (a bit of mostly-harmless numerology).
|
||||
|
||||
|
||||
#### Notes about Spectral Computation
|
||||
### Notes about Spectral Computation
|
||||
|
||||
For *n* = 3 through 6, exactly computing the spectrum
|
||||
(or more accurately, the characteristic polynomial)
|
||||
|
||||
@ -36,7 +36,7 @@ To summarize from the first post, a swap diagram is a graph where each vertex re
|
||||
I singled out three graph families for their symmetry:
|
||||
|
||||
- Paths, which link adjacent swaps
|
||||
- Stars, in which all swaps are "adjacent" to a distinguished index
|
||||
- Stars, in which all swaps contain a distinguished index
|
||||
- Complete graphs, which contain all possible swaps
|
||||
|
||||
Swap diagrams are ultimately limited by only being able to describe collections of 2-cycles.
|
||||
@ -98,10 +98,8 @@ Furthermore, *disconnected* vertices correspond to elements which commute with o
|
||||
However, each vertex need not correspond to a single 2-cycle,
|
||||
and can instead be *any* element of order 2, i.e., a product of disjoint 2-cycles.
|
||||
|
||||
The most important Coxeter diagrams can be seen below.
|
||||
The $A_n$ diagrams are just the familiar path graphs.
|
||||
|
||||
<!-- TODO: better wikimedia imports-->
|
||||
<!-- TODO: better wikimedia imports -->
|
||||
<div class="quarto-figure quarto-figure-center">
|
||||
<figure class="figure">
|
||||
<a title="Rgugliel, CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons" href="https://commons.wikimedia.org/wiki/File:Finite_coxeter.svg#/media/File:Finite_coxeter.svg">
|
||||
@ -109,7 +107,8 @@ The $A_n$ diagrams are just the familiar path graphs.
|
||||
</a>
|
||||
|
||||
<figcaption>
|
||||
Some important Coxeter diagrams
|
||||
The most important Coxeter diagrams.
|
||||
Note that the $A_n$ diagrams are just the familiar path graphs.
|
||||
<br>
|
||||
Source: Rgugliel, via Wikimedia Commons
|
||||
</figcaption>
|
||||
@ -147,40 +146,39 @@ What we need is some way to measure the effect this has on the rest of the group
|
||||
Coxeter-Todd Algorithm
|
||||
----------------------
|
||||
|
||||
The procedure for creating Cayley graphs contains a fragment of what we need.
|
||||
Namely, we convert products between group generators to paths in a graph.
|
||||
Following from the definition, our generators are the vertices of the Coxeter diagram[^2].
|
||||
This procedure is known as the
|
||||
[*Coxeter-Todd algorithm*](https://en.wikipedia.org/wiki/Todd%E2%80%93Coxeter_algorithm).
|
||||
This is exactly what the [*Coxeter-Todd algorithm*](
|
||||
https://en.wikipedia.org/wiki/Todd%E2%80%93Coxeter_algorithm
|
||||
) does.
|
||||
It more-or-less generalizes the procedure for creating Cayley graphs.
|
||||
Using the vertices of the Coxeter diagram as generators[^2], we convert products between
|
||||
them to paths in a graph.
|
||||
|
||||
[^2]: For clarity, I'll try to refer to these vertices specifically as "generators".
|
||||
|
||||
Let's apply the algorithm to the diagram $A_3$.
|
||||
First, we need to label our generators.
|
||||
First, we need to label our generators as *a*, *b*, and *c*.
|
||||
Then, we select a select a generator to remove and create a graph according to the following steps:
|
||||
|
||||
|
||||
### 1. Initialization
|
||||
|
||||
In a Cayley graph, where we start out with a single vertex representing the identity.
|
||||
Here, we do something similar.
|
||||
The first vertex instead corresponds to the subdiagram formed by removing the generator
|
||||
being considered, or more directly, the subgroup generated by all other generators.
|
||||
In a Cayley graph, we start out with a single vertex representing the identity.
|
||||
Here, the first vertex instead corresponds to the subgroup generated by all other generators.
|
||||
|
||||
For each of the remaining generators, we attach loops to the vertex.
|
||||
For each generator other than the one being removed, we attach loops to the vertex.
|
||||
This is because the subgroup is closed -- when we multiply the set of all elements
|
||||
of the subgroup by any of its elements, it doesn't change the set.
|
||||
In other words, $hH = H, h \in H$.
|
||||
|
||||
This doesn't apply to the generator we removed, so we draw an edge connecting to a new vertex,
|
||||
For the remaining generator, we draw an edge connecting to a new vertex,
|
||||
which represents a new set of elements.
|
||||
This set is a coset of the subgroup -- that is, each vertex we make in this new graph
|
||||
This is a coset of the subgroup -- that is, each vertex we make in this new graph
|
||||
corresponds to a disjoint partition of elements of the whole group.
|
||||
|
||||

|
||||
|
||||
Note that all loops and edges we draw will be undirected, since all generators have order 2.
|
||||
@ -191,8 +189,9 @@ Performing the same operation twice just takes us back to where we started.
|
||||
|
||||
At the new vertex, we transfer over every loop whose label is not connected to the label of the edge.
|
||||
This is due to the rule stating that non-adjacent generators commute.
|
||||
In other words, their product has order 2, since $acac = a^2 c^2 = \text{id} = (ac)^2$.
|
||||
In the graph, this means we can follow the path *acac* and see that we don't end up going anywhere.
|
||||
In other words, their product has order 2.
|
||||
For our graph, this can be seen for $acac = a^2 c^2 = \text{id} = (ac)^2$, and means after following
|
||||
labels *acac*, we end up at the same vertex we started at.
|
||||
|
||||

|
||||
|
||||
@ -211,12 +210,12 @@ $$
|
||||
$$
|
||||
|
||||

|
||||
|
||||
If the Coxeter diagram branches, then so does the generated graph.
|
||||
The labels of these generated branches have products with a known order,
|
||||
and following a path which alternates between two of them must return to the same vertex.
|
||||
The labels of each pair of branching edges have a product with a known order,
|
||||
so following a path alternating between two of them must return to the same vertex.
|
||||
Since it alternates between the two labels *n* times, this ends up producing even-sided polygons
|
||||
in our generated graph.
|
||||
Commuting vertices form either a square or a pair of loops connected by an edge.
|
||||
@ -232,7 +231,7 @@ The latter is actually a special case of the former, which can be seen by matchi
|
||||
### 4. Finalization
|
||||
|
||||
If we ensure at each new vertex that we can follow a valid path for every pair of generators,
|
||||
then this process either terminates or continues indefinitely with a repeating pattern.
|
||||
then this process will either terminate or continue indefinitely with a repeating pattern.
|
||||
A quick sanity check on the resulting graph is to add the number of loops and edges at a vertex.
|
||||
The sum should be the number of generators.
|
||||
|
||||
@ -254,7 +253,7 @@ We can remove vertices one-by-one until we eventually reduce the graph to a sing
|
||||
Multiplying all of the indices at each stage together gives us the order of the group we are after.
|
||||
|
||||
{.narrow}
|
||||
|
||||
@ -295,14 +294,7 @@ This group is isomorphic to the [Klein four-group](https://en.wikipedia.org/wiki
|
||||
|
||||
We can remove more than one generator from the Coxeter diagram at once, as long as we follow all the rules.
|
||||
Instead, the initial vertex in the new graph branches immediately and has fewer loops.
|
||||
If we remove adjacent generators in $A_2$, we end up with a hexagon.
|
||||
|
||||
{.narrow}
|
||||
|
||||
Similarly, removing two generators from $A_3$ produces a figure with squares and hexagons:
|
||||
For example, removing two generators from $A_3$ produces a figure with squares and hexagons:
|
||||
|
||||
{.narrow}
|
||||
|
||||
A figure composed of squares and hexagons should be familiar from the second post.
|
||||
A figure composed of squares and hexagons should be familiar from the previous post.
|
||||
The truncated octahedron also contains only squares and hexagons and is generated by $S_4$.
|
||||
In fact, the figure above is the truncated octahedron folded in half.
|
||||
It is folded in "half" specifically because the single remaining vertex in the Coxeter diagram has order 2.
|
||||
Consequently, the number of vertices in the graph must be half that
|
||||
of the whole group (or complete permutahedron).
|
||||
|
||||
If we remove both generators in $A_2$, we end up with a hexagon.
|
||||
|
||||
{.narrow}
|
||||
|
||||
Also from the previous post, we know this to be the Cayley graph for $S_3$ generated by a pair of swaps.
|
||||
In this way, the Cayley graph can be thought of as a sort of "limiting" graph of the Coxeter diagram,
|
||||
where each coset contains only a single element.
|
||||
|
||||
@ -381,7 +382,7 @@ Connecting the triangular faces of the cuboctahedron to the origin gives
|
||||
At this point the reflections become clearer, since certain reflections
|
||||
do the same thing as in the plane above, while others will "double" a tetrahedron.
|
||||
|
||||
::: {layout-ncol="2"}
|
||||
::: {layout-ncol="2" layout-valign="center"}
|
||||

|
||||
|
||||
![
|
||||
@ -393,7 +394,7 @@ At this point the reflections become clearer, since certain reflections
|
||||
Personally, I think the geometric way of thinking becomes is difficult even in 3D.
|
||||
Every axis describes a separate rotation, which is simple enough.
|
||||
But we're trying to create infinite cones of symmetry domains in 3D space,
|
||||
and we only have a 2D screen with which to attempt interacting.
|
||||
and we can only try to interact with this using a 2D screen.
|
||||
We're running out of room before even getting to 4D space,
|
||||
where the visualization problems are even worse.
|
||||
Also, while the angle between two mirrors is 60°, it's easy to slip into thinking
|
||||
|
||||
@ -13,9 +13,13 @@ categories:
|
||||
---
|
||||
|
||||
<style>
|
||||
.figure-img.narrow {
|
||||
.figure-img.narrower, img.narrower {
|
||||
max-width: 512px;
|
||||
}
|
||||
|
||||
.figure-img.narrow, img.narrow {
|
||||
max-width: 768px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
@ -61,17 +65,18 @@ Other Platonic solids and their higher-dimensional analogues have different Schl
|
||||
|
||||
Adding an order-4 product into the mix makes things a lot more interesting.
|
||||
The cube (Schläfli symbol {4, 3}) and octahedron ({3, 4}) share a symmetry group, $O_h$,
|
||||
which corresponds to the Coxeter diagram $B_3$[^1].
|
||||
which corresponds to the $B_3$ diagram[^1].
|
||||
|
||||
[^1]: For groups without a common name, I'll instead use *W*(*diagram*) to represent the generated group.
|
||||
[^1]: For groups without a common name, I'll instead use *W*(*diagram*)
|
||||
(for [Weyl](https://en.wikipedia.org/wiki/Weyl_group)) to represent the generated group.
|
||||
For example, in this case, $W(B_3) \cong O_h$.
|
||||
|
||||
::: {layout-ncol="3"}
|
||||

|
||||
::: {layout-ncol="3" layout-valign="center"}
|
||||
{.lightbox group="b3"}
|
||||
|
||||

|
||||
{.lightbox group="b3"}
|
||||
|
||||

|
||||
{.lightbox group="b3"}
|
||||
:::
|
||||
|
||||
The center graph is the first to have a hexagon created by removing a single generator.
|
||||
@ -118,7 +123,7 @@ Since all of these generators are in $S_4$, it only has half the number of verti
|
||||
as the truncated cuboctahedron.
|
||||
|
||||
<!-- TODO: embeddings are graphviz diagrams and could use python -->
|
||||
::: {layout-ncol="3"}
|
||||
::: {layout="[[1,1,1],[1]]"}
|
||||

|
||||
@ -130,10 +135,11 @@ Since all of these generators are in $S_4$, it only has half the number of verti
|
||||

|
||||
:::
|
||||
|
||||
<!-- TODO: swap diagrams are wrong: 1 2 4 3 should be nonconvex quadrilateral -->
|
||||

|
||||
{.narrow}
|
||||
:::
|
||||
|
||||
|
||||
### $H_3$: Icosahedral Group
|
||||
@ -142,12 +148,12 @@ Continuing with groups based on 3D shapes, the dodecahedron (Schläfli symbol {5
|
||||
and icosahedron ({3, 5}) also share a symmetry group.
|
||||
It is known as $I_h$ and corresponds to Coxeter diagram $H_3$.
|
||||
|
||||
::: {layout-ncol="3"}
|
||||

|
||||
::: {layout-ncol="3" layout-valign="center"}
|
||||
{.lightbox group="h3"}
|
||||
|
||||

|
||||
{.lightbox group="h3"}
|
||||
|
||||

|
||||
{.lightbox group="h3"}
|
||||
:::
|
||||
|
||||
Two of these graphs are similar to the cube/octahedron graphs.
|
||||
@ -185,7 +191,7 @@ In this case, the edges generate the
|
||||
[rhombicosidodecahedronal graph](https://en.wikipedia.org/wiki/Rhombicosidodecahedron).
|
||||
|
||||
<!-- TODO: embeddings are graphviz diagrams and could use python -->
|
||||
::: {layout-ncol="3"}
|
||||
::: {layout="[[1,1,1],[1]]" layout-valign="center"}
|
||||

|
||||
@ -197,9 +203,11 @@ In this case, the edges generate the
|
||||

|
||||
:::
|
||||
|
||||

|
||||
{.narrow}
|
||||
:::
|
||||
|
||||
It is remarkable that the truncations of the rectifications[^2] have skeleta that are the same
|
||||
as the Cayley graphs generated by their respective Platonic solids' Coxeter diagrams.
|
||||
@ -217,14 +225,14 @@ Up a dimension from the cube and octahedron lie their 4D counterparts:
|
||||
and 16-cell ({3, 3, 4}, four tetrahedra ({3, 3}) around an edge).
|
||||
They correspond to Coxeter diagram $B_4$.
|
||||
|
||||
::: {layout-ncol="2"}
|
||||

|
||||
::: {layout-ncol="2" layout-valign="center"}
|
||||
{.lightbox group="b4"}
|
||||
|
||||

|
||||
{.lightbox group="b4"}
|
||||
|
||||

|
||||
{.lightbox group="b4"}
|
||||
|
||||

|
||||
{.lightbox group="b4"}
|
||||
:::
|
||||
|
||||
Three of these graphs (those starting with *a*, *c*, and *d*) are *also* similar
|
||||
@ -262,7 +270,7 @@ A similar computer search yielded an insufficient embedding in $S_8$, with order
|
||||
- $c = (1 ~ 2)(3 ~ 4)(5 ~ 7)(6 ~ 8)$
|
||||
- $d = (1 ~ 2)(3 ~ 5)(4 ~ 6)(7 ~ 8)$
|
||||
|
||||
This false embedding *cannot* be "fixed" by multiplying some generators by $(9 ~ 10)$[^3]
|
||||
This false embedding *cannot* be "fixed" by multiplying some generators[^3] by $(9 ~ 10)$
|
||||
(implicitly embedding in $S_{10}$ instead).
|
||||
Quickly "running" the generators shows that the order of the group is unchanged by this maneuver.
|
||||
Much of the structure permutations ensures that nonadjacent vertices still have order-2 products.
|
||||
@ -270,7 +278,7 @@ Much of the structure permutations ensures that nonadjacent vertices still have
|
||||
[^3]: The only candidate choices are *a* and nothing else, every generator but *a*, or all generators.
|
||||
All other choices violate edge/product constraints from the diagram.
|
||||
|
||||

|
||||
{.narrow}
|
||||
|
||||
I won't try to identify either of these generating sets' Cayley graphs since it is impractical
|
||||
to try comparing graphs of this size (and they likely correspond to a 4D object's skeleton).
|
||||
@ -294,10 +302,10 @@ $D_4$ is the first Coxeter diagram with a branch.
|
||||
Like $B_4$ before it, it is corresponds to the symmetries of a 4D object.
|
||||
We only really have two choices in which generator to remove, which generate the following graphs:
|
||||
|
||||
::: {layout-ncol="2"}
|
||||

|
||||
::: {layout-ncol="2" layout-valign="center"}
|
||||
{.lightbox group="d4"}
|
||||
|
||||

|
||||
{.lightbox group="d4"}
|
||||
:::
|
||||
|
||||
While we could also remove *c* or *d*, this would just produce a graph identical
|
||||
@ -318,7 +326,7 @@ Fortunately, a computer search yields a correct embedding immediately:
|
||||
- $c = (1 ~ 5)(2 ~ 7)(3 ~ 4)(6 ~ 8)$
|
||||
- $d = (1 ~ 8)(2 ~ 4)(3 ~ 7)(5 ~ 6)$
|
||||
|
||||
{.narrow}
|
||||
{.narrower}
|
||||
|
||||
In fact, the group generated by this diagram is isomorphic to the even permutation subgroup of $W(B_4)$.
|
||||
This can be verified by selecting order 2 elements from the latter which obey the laws in $D_4$.
|
||||
@ -332,10 +340,10 @@ On the other hand, *H* and the edge-generated subgroup do not satisfy this diagr
|
||||
*D*-type diagrams continue by elongating one of the paths.
|
||||
The next diagram, $D_5$, has really only four distinct graphs, of which I will show only two:
|
||||
|
||||
::: {layout-ncol="2"}
|
||||

|
||||
::: {layout-ncol="2" layout-valign="center"}
|
||||
{.lightbox group="d5"}
|
||||
|
||||

|
||||
{.lightbox group="d5"}
|
||||
:::
|
||||
|
||||
First, note how the graph to the right is generated by removing the generator *e*,
|
||||
@ -413,7 +421,7 @@ This graph is also the line graph of $\bigstar_3$ so it might make sense to assi
|
||||
However, $S_3$ already has a diagram, $A_2$, which is clearly a subdiagram of
|
||||
$\widetilde A_2$, so the new group must be larger.
|
||||
|
||||
{.narrow}
|
||||
{.narrower}
|
||||
|
||||
Attempting to make a graph by following the generators results in an infinite hexagonal tiling.
|
||||
You might recall that $A_2$ generates a hexagon, so it is intriguing that this generates
|
||||
@ -429,7 +437,7 @@ Removing a pair of vertices from the diagram would get rid of the initial edge (
|
||||
The hexagonal tiling has Schläfli symbol {6, 3}, and is dual to the triangular tiling.
|
||||
As a Coxeter diagram, this symbol matches the Coxeter diagram $\widetilde G_2$.
|
||||
|
||||
{.narrow}
|
||||
{.narrower}
|
||||
|
||||
The graph generated by removing a generator is another infinite tiling, in this case the
|
||||
[truncated trihexagonal tiling](https://en.wikipedia.org/wiki/Truncated_trihexagonal_tiling).
|
||||
@ -443,7 +451,7 @@ Each pair of prodcuts corresponds to a distinct polygon in the graph: *ab* to do
|
||||
The only remaining regular 2D tiling is the square tiling (Schläfli symbol {4, 4}),
|
||||
whose Coxeter diagram is named $\widetilde C_2$.
|
||||
|
||||
{.narrow}
|
||||
{.narrower}
|
||||
|
||||
The tiling generated by this diagram is known as the
|
||||
[truncated square tiling](https://en.wikipedia.org/wiki/Truncated_square_tiling).
|
||||
@ -458,10 +466,10 @@ In this tiling, the squares always correspond to the product *ac*,
|
||||
The above diagrams are the only rank-2 affine diagrams.
|
||||
The simplest diagram of rank 3 is $\widetilde A_3$, which appears similar to 4-Cycle graph.
|
||||
|
||||
::: {layout-ncol="2"}
|
||||

|
||||
::: {layout-ncol="2" layout-valign="center"}
|
||||
{.lightbox group="a3_tilde"}
|
||||
|
||||

|
||||
{.lightbox group="a3_tilde"}
|
||||
:::
|
||||
|
||||
Similar to how $\widetilde A_2$'s graph is the tiling of $A_2$'s,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user