Coxeter diagram

Coxeter diagrams or Coxeter–Dynkin diagrams are a compact way of representing a wide variety of polytopes. They are named after Harold Scott MacDonald Coxeter, who first described them, but have been more recently generalized and reformatted by members of the Hi.gher.space forum. They're closely related to Coxeter reflection groups.

A Coxeter diagram consists of a set of nodes joined by numbered edges. Nodes represent mirrors, or hyperplanes; and edges describe the angles between them: an edge with the number k indicates an angle of π/k radians. Nodes can be marked to describe the relation of a point to them, which is then used to build the whole polytope. Traditionally, Coxeter diagrams are shown as drawings. In more recent plaintext extensions of this notation, other symbols may be used to represent different edge lengths, non-linear graphs, different types of snubbing, or lace towers of polytopes that generalize the notion of prisms or pyramids.

Notation
In the wider mathematical community, Coxeter diagrams are commonly drawn like a graph, due to Coxeter. For convenience, edges with the number 2 are omitted, and edges with the number 3 are drawn without it. For example, a small rhombicuboctahedron (see below) would be represented as.

With the advent of the internet, however, there arose a necessity to write down these diagrams in an ASCII-compatible notation. In plaintext, ringed nodes are marked with an x, unringed nodes are marked with an o, and edges are marked by numbers between nodes, so an equivalent notation would be x4o3x. Although the latter notation may seem more restrictive, various extensions have made it much more flexible than the original (see Extensions).

History
The unmarked graph represents a discription of a Lie group. Coxeter described these in the early 1930s, but an equivalent graph was devised during the 1940s by Dynkin and by De Witt. Each node represents a separate single operator, given as a letter A, B, C, ... such that AA = BB = CC ... = I (the group identity). The branches were a relation between the connected nodes such that an unmarked branch is ABA = BAB, and branches marked with higher numbers are as 4 = ABAB = BABA, 5 is ABABA = BABAB and so forth.

In group theory, there is a special additional meaning applied when the branch is even, as to whether an arrow points one way or the other, viz the four-branch is represented as a double-line with arrow, eg ==>==, there is no '5' branch, and the 6-branch is a triple-line representation. The groups o==<==o-o and o==>==o-o are distinct, and represented by the letters C and D. The group represented by o-o==>==o-o is the same as with the arrow reversed.

Such represents a physical kaleidoscope, where the separate mirrors are labeled A, B, C, ... and the branches represent the angles between them. The arrow-head notation does not apply, which is why there is no 'D' symmetry. Instead, such additional symmetries called for not in Lie theory, are simply added to the end of the Lie list, which is why {5,3} and {5,3,3} appear at G.

The node markings predate the graph by some 20 years in publication. This is due to Alicia Boole Stott's construction of the fifteen uniform polychora by using a series of expansions. Starting with C_600, one can 'expand' the edges, hedra, and faces outwards, without changing the size of the original figure. Doing this to the edges of a cube, for example, would produce a truncated cube (specifically a larger cube, with the edge-lengths as for the smaller one, the result is new faces appearing at the vertices). Expanding the faces outwards would lead to additional faces replacing the edges (generally rectangles), and triangles at the old vertice, resulting in a rhombocuboctahedron.

In order to "get rid of the cube", one has to "contract" the vertex to nothing. In this case, the edges and squares of the original cube are made to shrink to zero. The truncated cube would then shrink to a cuboctahedron, and the rhombocuboctahedron would become an octahedron. (the squares of the cube would disappear, and the rectangles into digons, which become line segments.)

Wright(?) rearranged this growth to eliminate the contraction, by supposing a start from a zero-size cube (ie r4o3o), where r denotes adjacent vertices o|o on the end of a zero-edge cube. The same operations as Stott uses still work, but one expands r to x, rather than contracting x to o.

Wythoff found a way of implementing this construction with mirrors. Instead of expanding a kind of element, the vertex would be held at a distance from the mirror. Because it is a simple shape kaleidoscope, we see that a point can be set 0 or 1 from any mirror. This can be represented by a parallelogram set into the kaleidoscope, each vertex of the parallelogram is either on some mirror, or off it, in every combination.

This is the paper that Coxeter noticed in 1935, and proceed to give the construction of the omnitruncated 4_21, along with an anotated history, which is what is given here. However, Coxeter's notation does not show that he has linearised the graph.

Modern Notation
The notation used in current published matter is not that derived by Wendy Krieger, but using Alicia Stott's expand notation, and the Schläfli symbol. Not a great call exists for the figures, since the mathematical literature is more interested in the symmetry group, than with specific polytopes.

The form is t1,3{3,3,5}. Stott used an 'e' (expand), Conway uses an 'a' (ambiate) the t stands for (truncate). The polytope in question is that one should count the nodes of {3,3,5} from 0 onwards, as o3x3o5x. But without this vital clue, a '1' count would lead to x3o3x5o.

Description
A basic Coxeter diagram consists in a set of n nodes, "ringed" (active) or "unringed" (inactive). The nodes represent (n–1)-dimensional hyperplanes, thought of as mirrors. A number k between two nodes, possibly a fraction, indicates that the angle between their respective mirrors is π/k. So far this essentially describes the fundamental region of symmetry. Next a seed point can be placed somewhere between these mirrors, on or off wrt. them, usually assumed to be at half unit distance from the mirrors (off) with ringed nodes, and inside the mirrors (on) with unringed nodes. We can repeatedly reflect this point, along with all the mirrors, over any one of the mirrors. This will create the vertices of the polytope that the Coxeter diagram represents, in a similar manner to the Wythoff kaleidoscopical construction. In fact, while Wythoff himself was outlining his construction using his own Wythoff symbols, which happen not to extrapolate beyond 3D, the construction idea itself can well be transfered to CD diagrams of whatever dimension.

The idea of the kaleidoscopical construction is a local one, only considering the fundamental region, the seed point and lateron all its incident elements. Only after having constructed them all, you'll apply the action of the whole symmetry, reflecting the local structure all over globally. First you construct the mirror images of the seed point wrt. each individual mirror. The convex hulls of each pair of the seed point and its respective mirror image are the edges incident to the seed point. Each pair of edges then spans a plane and the corresponding 2 edges therein demark the corner of the respective seed point incident polygon. Remember that Wythoffians by definition are uniform (or, when allowing for different edge sizes, then isogonal), thence polygons/polygrams always will be regular (resp. semi-regular). I.e. all corner angles of those will be alike! Therefore these 2D elements are obtained directly. The same consideration applies for any higher dimensional element as well, as long as it is derived inductively bottom-up, i.e. hierarchically from lower dimensional elements to higher dimensional ones. That is, single mirrors provide edges, pairs of mirrors provide polygons, triples provide polyhedra, etc. Finally, if all seed point incident elements got constructed, you can apply the reflection symmetry over and over to populate the global shape. This is how Wythoff's kaleidoscopical construction actually works.

For example, x4o3x represents the small rhombicuboctahedron. Its face types can be read off by deletion of any single node, here resulting in x4o (square), x x (a square as well, though only with rectangular symmetry), and o3x (triangle).

To distinguish which of the two angles between two mirrors should be considered, and thus where a point should be placed with respect to them, we can associate a normal vector to each mirror. Then, the condition of the Coxeter diagram is that the dot product between the normals of two mirrors with an edge marked k is equal to –cos(π/k), and that the distances from the point to the mirrors are taken to be signed. For instance, x5/3x results in a decagram, while x5/2x is just an alternate symbol for the pentagon. Polytopes whose Coxeter diagrams include edge labels smaller than 2 are often called retrograde.

Snub nodes
Nodes can also be "hollowed" (alternated). Traditionally, these nodes are marked as. In the plaintext notation, they're marked with an s, which can stand for 'snub', 'semiation', or for the surname of Alicia Boole Stott who introduced this further node type to Coxeter. In this case, a point is also placed off a mirror, but only vertices generated by an even amount of reflections through the alternated mirrors are accounted for. This results in the snub polytopes.

Alicia Boole Stott suggested to Coxeter, that removal of the mirrors in a marked diagram, but leaving the marks, would lead to an alternation of vertices. In this, the removal of the mirrors would mean removal of the black dot, but leaving the outer circle marking the node. thus:. In text-notation, this is represented by an s node. The removal of a node in this way, would remove half of the vertices, replacing these with simplex-faces, being the vertex-figure. The original polygons at the vertex would be replaced with polygons of half as many vertices.

sPs is the general snub polygon, arises from alternating the edges of xPy (an alternation of edges of a 2P-gon, of edge-lengths x and y), and then removing half of the vertices, so that the polygon P is restored, but rotated relative to the symmetry. A solution is always possible. Note that a snub digon s2s is an edge rotated relative to the x-y axis, being the diagonal of a general rectangle.

sPsQs derives from the alternation of xPyQz This leads to three snub polygons, xPy, yPz, and z2x. The values of x, y, and z are then set to make the resulting edges of the alternated polygons equal. This is three equations in three variables, which is always solvable, although often adding a further cubic to the equation.

sPsQsRs is generally not solvable. There are four free variables, w,x,y,z but six edges demanding to be equal, wPx, xQy, yRz along with w2y, w2z and x2z. The general case has no solution, which means the likes of s3s3s3s, which topologically has 10 icosahedra, 20 octahedra, and 60 tetrahedra, is never uniform.

The only known solution for a uniform snub in four or higher dimensions, is of the form where the vertex-figure is either a regular simplex, or a pyramid with that as a base. This leads to the half-figures (eg half-cube), and to the Coxeter snubs.

In sQo3o3o3o3... Q is even, and the figure represents simple removal of alternate vertices of xQo3o3o3o...,  so s4o3o is a tetrahedron, s4o3o3o is a hexadecachoron, s4o3o3o3o is a hemipenteract, and so forth. s6o is a triangle, s6o3o is the triangular tiling, such that the snub faces all pointing 'up', and the hemiated hexagons become those triangles pointing 'down'.

Coxeter observed in xPxQo3o3... the edges can be 'directed'. This means that all edges can be cut to the same ratio. The removal of a vertex then places new vertices on these edges, each of which have been cut in this ratio. For x3x4o, the ratio of 1:f gives an icosahedron, and s3s4o is the icosahedron, s3s4o3o is the snub disicositetrachoron, and s3s4o3o3o is the snub disicositetrachoric tetracomb.

Norman Johnson suggested that all vertices could be alternated, into an odd and even figure. This results in a local application of usual snubbing, i.e. every alternate vertex is maintained, every other is omitted. Some times, this snub construction could result in a recurrent edge path in overlapping vertices, one of which is accounted for, and the other one of which isn't. If we carry out the construction as described above anyways, we create a special type of snub called a holosnub, represented by the ß (German ezsett) node. For example, ß5o produces a pentagram, ß5o3o a small ditrigonary icosidodecahedron, and ß5o3o3o a small ditetrahedronary hexacosihecatonicosachoron. As it turns out, whenever a snub node (s, ß) is connected to a non-snub node (o, x) by means of an odd link mark, then every vertex finally will be maintained and as well replaced by snub facets. Thus holosnubs in contrast to usual snubs do not halve the vertex count. Turning this observation to a rule now allows to apply holosnubbing even when all those connecting link marks are even as well. This then would result in compounds though. For example, the ß2ß2ß is a stella octangula, which reduces by symmetry to ß4o3o as well. Because 4 is even, the double-cover reduces to two separate (but inverted) tetrahedra.

In the general case, by means of mere vertex alternation the edge lengths of the resulting polytopes will be different from one another. However, in special cases, like the snub cube (s4s3s) or the snub disicositetrachoron (s3s4o3o), they can be made uniform by adjusting the placement of the point accordingly. (This depends on the ratio of positional degree of freedom of the seed point vs. the count of obtained different edge types.)

Extensions
Basic Coxeter diagrams allow only for certain uniform polytopes to be represented. However, this notation, specifically the plaintext one, has been extended in recent years to extend its capability of describing complex diagrams and not necessarily uniform polytopes.

Early Notations
The brief for the original notation was to allow all CD diagrams to be 'linearised', in such a way that Stott construction could be implemented by vectors. The extent of covered groups were those as far as the paracompact (finite content) groups, including the compact (finite extent) groups in hyperbolic geometry. These represent those groups, for the removal of any node results in at least euclidean or finite groups.

A branch connects 'parent' to 'child'. When a node has more than two marked nodes, the parent-child has to be broken, and specific grand-parent and grand-child nodes are implemented. A grandparent branch connects the child node to a node further back.

Three levels of grandparent branches are required, x3c3b3a3oNn The branch N is a grandparent branch, this would normally connect node n to the node marked 'o'. Instead, the branch runs from c, b, or a as N is C, B, or A. Note that a direct connection to N would be a '3' branch. This allows most groups to be shown in the 'icosahedral' format, eg 3_21 is {3,3,3,3,3,A}

Two levels of grandchild branches are needed. This connects a leading node to node 3, 4 in the chain as nNx3e3g3o3o3o.. N would normally connect n to x, the use of E and G allows for n-e and n-g branches. This allows for 'dodecahedral format', ie {5,3,3,3...}, so 2_31 is oGx3o3o3o3o3o

Loops are implemented by a structural node, which indicates a return to either node 0 (z) or 1 (zz).

The intent was to allow the polytope to be expressed as a vector, by giving the structure varying weights. For example, allowing the letters s, q, f to stand for 3, 4, 5 branches, one can represent a polytope, as for example 10.22s2.21s44q2 as if the vector (10.22, 2.21, 44, 2) were applied to coordinate system ssq. The other extent is to simply replicate Coxeter's 3_21. by using a number to represent an unbroken chain of 3's and the letter above, along with Q (4), F (5), H(6), and V (5/2) for non-3 branches. 3_21 becomes, eg 5B. Marked nodes are indicated by a /, so /5B or 1/4B for its rectate. This is more legible than o3x3o3o3o3oBo or o3x3o3o3o3o *d3o.

When using with "Wythoff notation" (Wythoff had no part in it), the letters S and R are for 3 and 2 branches, along with 'i' to give the supplement figure (ie P/(P-D)).

Virtual nodes
In order to allow for loops and bifurcation points in the plaintext notation for Coxeter diagrams in much more liberty than the above intro of "grandparents", Richard Klitzing added a distinction between "real nodes" and so-called "virtual nodes". One first starts by writing the diagram from any node: these are the real nodes. Whenever one needs to specify that a node is connected to a previous one, one writes down an asterisk, together with the index of the to be referred node in alphabetical form.

For example, x3o3o3*a closes the diagram into a triangular shape by connecting the virtual last node back to the real first node, thus representing the triangular tiling. In the traditional notation, that one is notated as. In x3o3o *b3o, the second part is going to be attached to the real second node, which thus becomes a bifurcation point of the diagram. This then represents the hexadecachoron. In the traditional notation, this may be notated as.

Duals
Duals can be notated by replacing x with m and s with p.

Complex polytopes
Complex polytopes can be represented by numbering the nodes.

The non-intersection marker
The non-intersection symbol, Ø (a crossed O, although it was chosen to look like a "no" sign) is used to notate non-simplicial domains.

Different edge lengths
A further extension to these diagrams was introduced by Wendy Krieger, which isn't paralleled by the traditional Coxeter diagram notation. It allows for non-unit edge sizes in the diagram representation, by interpreting ringed and unringed nodes as denoting distances rather than incidences. That is, the symbol x represents a point at half-unit distance from a mirror (so as to create a unit edge), the symbol o represents a distance of zero, and other symbols create edges of other sizes. The most common edge sizes are shown in the table below, along with the characters commonly used to represent them, and with the origins of such characters.

For example, the vertex figure of the icosidodecahedron may be written as x2f.

Other letters, most commonly y and z, are used as variables. In some contexts, x is also treated as a variable. For example, the rectangle could be represented as x2y, and the cuboid could be represented as x2y2z.

Compounds
A compound of two figures in the same symmetry, can be denoted by merging the two inline notations into one. This has the advantage of showing the relation relative to the same group, without having to use unfamiliar words. For example, the cube x4o3o, and an octahedron of size q, ie q3o4o, can be combined into the compound xo4oo3oq. This doubles up the node symbols, the first in each set applies to the first figure, and the second applies to the second figure.

Laced polytopes
The diagram merging can also be used to denote several different types of laced polytopes. To denote a laced polytope, add &#, representing the extra dimension, to the end of the symbol for the compound, and additional markers depending on the type of laced polytope.


 * Lace prisms are denoted by &#x. They can be created by lacing two component polytopes with laces of unit edge length (x). For example, you can lace together a triangle, x3o, and a hexagon, x3x, to get a triangular cupola, xx3ox&#x
 * Lace simplices are a natural extension of lace prisms. They are denoted by the same notation, but with three or more components. They created by taking the layers and lacing every pair, as in a simplex: this is the natural extension and does not require a further qualifier. The simplexes themselves o...o&#x are the easiest examples. Another example is oxx&#x for the square pyramid, made out of a point and two dyads laced together. Lace simplices derive from the vertex figure of WME polytopes, having a lacing simplex with as many vertices as marked nodes, and a cross symmetry equal to the unmarked nodes.  It is not impossible to have no mirrors at all, as the omnitruncate shows.
 * Lace tegums are the duals of lace prisms, denoted by &#m. (what are the duals of lace simplices called?)
 * Lace towers are created by lacing multiple parallel layers within an axial stack: they get suffixed by a t. An example is xxo3oxx&#xt for the cuboctahedron, which is built from a triangle, on top of a (diametral) hexagon, on top of a triangle rotated with respect to the first. The lace tower is read as &(an extra axis of symmetry), #(kill the symmetry), x(lacing of edge x), t(all layers in a tower).
 * Lace rings, which lace polytopes in a cyclic order, become represented by means of the suffix r. Simple examples include oxox&#xr for the octahedron, and oxxo&#xr for the triangular prism. Duoprisms, like the square-pentagonal duoprism xxxx5oooo&#xr, are also examples of lace rings.
 * Wout Gevaert also considered the tegum sum. suffixed with &#z, take the convex hull s of the compound. For example, the rhombic dodecahedron, xo4oo3oq&#z is the convex hull of the cube-octahedron compound xo4oo3oq mentioned previously. Note that the individual layers themselves here no longer are true boundary facets of the resulting polytope.

Wythoff Symbol
Wythoff symbols are simplified versions of Coxeter diagrams used for polyhedra. They are formatted as either "p q r |", "p q | r" or "p | q r" where p, q and r refer to the order of symmetry of the axes. The Wythoff symbol represents a triangular Coxeter diagram where p, q and r are on the edges. The numbers to the left of the bar refer to edges opposite ringed nodes, while the numbers to the right of the bar repesent edges opposite unringed nodes. The symbol "| p q r" is misleading, as it represents not a diagram with all nodes unringed, but a diagram with all nodes snubbed. For example, the truncated tetrahedron is represented by 2 3 | 3.

Schlafli Symbol
The Schlafli symbol is used to denote regular polytopes. It is represented by a bracketed list of numbers, such as {4,3,3} for the tesseract. {n} represents an n-sided polygon, while in higher dimensions the facet is the polytope represented by all the numbers except the last, and the last number represents how many facets meet at a peak. Uniform polytopes can be represented by adding symbols to the beginning: r for rectification, t for truncation, h for alternation and s for snubbing (alternated truncation). They can be combined, creating rr for cantellation, tr for cantitruncation and sr for snubbing. When none of those suffice, t may be used, subscripted with the indices of the ringed nodes.