Wythoff Polytopes

Discussion of tapertopes, uniform polytopes, and other shapes with flat hypercells.

Wythoff Polytopes

Postby wendy » Fri Feb 28, 2014 9:29 am

This is really an annex to the CRF project, but we're not really going to find any crf's here. Instead, it's intended to lay down some formulae.

Wythoff Polytopes

Basically, this is any polytope written in a dynkin symbol, using node-marks that represent directly, the size of the edge. so F3x is a WP. This distinction means that you can use the coordinates as a vector, and use the fancy vector arithmetic to calculate size and distances. In essence, a polytope like x5o3x is just a fancy coordinate (1,0,1), "AICO" (all icosahedral coordinates).

We can directly make a matrix that allows you to do a dot product between two vectors specified as AICO, or even find the length of a given vector.

Wythoff Lace Prisms

These are wythoff polytopes "laced together". This seems to be the mainstay of the polytope project, and part of the hassle is finding coordinates from lacing lengths. The first bit is relatively straight-forward: L² = H² + D². L is given in the "&#xt" bit. H is sought, and we shall find D from our vector project.

The relevant vector we are going to look at, is then (T-B), where these are the polytope vector at the top, less the similar one at the bottom. So we have, eg for xo3ox5of, t = xoo = (1,0,0) b = o,x,f = (0,1,f), d = (1,-1,-f). We then calculate d·d, and subtract this from L², to get the height. ie

H² = L² - (t-b)·(t-b).

Because the coordinates are oblique, we can not do the usual dot product, but must either set the thing into an orthogonal schema, or do a "matrix-dot" product, ie D² = Sij di dj, where Sij is the relevant stott matrix.

Stott Matrices

The two ways to get the stott matrix are to use the relation Sij Dij = I, where Dij is the dynkin matrix, or the time-honoured way of writing the stott matrix out from the Schläfli vector and the resident animal. The latter is very efficient if you are using hand calculations.

The Dynkin matrix D<sub>ij</sub> is simply a matrix, where the main diagonal Dii is filled in with '1', and the rest of the elements are filled in with Dij = -cos( pi/[ij]), where [ij] is the branch-mark between nodes i, j (counting unconnected nodes as '2'. It's a dynkin matrix, because you can load it directly from the dynkin symbol. When i do this by hand, i normally double all the entries, and put a leading '1/2' out the front. This saves having to remember both 1.61803398875 and 0.809017&c.

You can do it by hand: just write out the required matrix by using the Schläfli vector and the resident animal. When you do this in front of someone, like 'just use this technique', it looks very cool etc.

The vector is written in the first column, starting at the bottom. It always takes the same pattern for [3],3, etc, so once you learnt the general pattern, it's pretty easy to write these things down. The order is icosahedral, which means we put the non-threes bit down the bottom end (ie we do 3,3,5, not 5,3,3).

The schläfli vector is derived pretty much from a kind of 'continued fraction' derived from the schläfli symbol. For the first few, you can see that the animal is a single cell, occupied by the dimension-number. Tilings are the surface of an n+1 polytope, so {3,6} is a polyhedron, not a 2d thing, so n=3 here.

  • 3...3 1, 2, 3, 4, 5, 6, ... Animal = [n]
  • 3...4 q, 2, 2, 2, 2, 2, ... Animal = [n]
  • 3...5 f, 2, 3-f, 4-2f, 5-3f, 6-4f, Animal = [n]
  • 3...6 h, 2, 1, 0 Animal = [n]
  • 3...P a, 2, 3-b, 4-2b, 5-3b, ... Animal = [n] a=shortchord, b=third-chord = a²-1.
  • 3...3 q, 2q, 3, 2, 1, 0
  • 3...A 2, 2, 4, 4, 4, 4, 4, 4, ...
  • 3...B 3, 2, 4, 6, 5, 4, 3, 2, 1, 0

The animals for the larger symmetries like {3,4,3} and {3,3,3,3,B} = 2_21 are given here. There's only three of them.

Code: Select all
            Animals for the non-regular symmetries

    3..4,3           3...A                  3.....B
                      k_11                     k_21

   [ 2n-2  n-1 ]   [  n   n-2 ]     [ 2n-2  n-1  2n-6 ]
   [ n-1    2  ]   [ n-2    n ]     [  n-1   4    n-3 ]
                                    [ 2n-6  n-3    n  ]

The rest of the Sij is filled out by Sij = j Si1, as long as j <= i. The matrix is symmetric, so Sij = Sji.

Here are some worked examples, of writing these things directly. The order is to fill in the animal first, then the schlafli vector (which must be found to get the correct denominator).

Code: Select all

      [ 4-2f                   ]           [ 4-2f  3-f     2    f  ]
  2   [ 3-f                    ]      2    [ 3-f  6-2f     4   2f  ]
--   [  2                     ]  -> ---   [  2    4       6   3f  ]
      [  f       .     .    4  ]     5-3f  [  f    2f     3f    4  ]

       Schlafli            Animal

     2_21 = .   n=6

         3  (overall demom)
      [  4     5    6    4   2   3   ]
   2  [  5    10   12    8   4   6   ]
   -  [  6    12   18   12   6   9   ]
   3  [  4     8   12 ( 10   5   6 ) ]
      [  2     4    6 (  5   4   3 ) ]
      [  3     6    9 (  6   3   6 ) ]

        S.v           (    animal  )

Canonical Polytopes etc

We can write a prism of size l*b*h as (l)2(b)2(h). The brackets mean that the letters are just algebraic variables, without any special meaning. In any case, while this is a wythoff-polytope representing a prism of l long, b broad, and h high, the standard coordinate gives l,b,h ACS (all change of sign). In other words, putting l directly into the coordinate, gives a prism whose size is 2l, 2b, 2h.

Since we often just feed the 'size-as-written' from the dynkin symbol into a program, there are the odd 2 and 4 to be met as we eliminate this doubling.

So one has to be wary of this when one finds the value of d from lacing and height.

For example, the subtraction of eg (1,1,0) from (0,1,1) gives a vector (1,0,1), but this applies to a polytope whose side is *2*. (it gets confusing, and i need to think this one through, its always one of my trouble-spots).


The task of finding coordinates from a wythoff polytope, involves passing a single coordinate say (1,1,0) AICO, through a number of filters to get a larger number out the bottom. Much can be saved by way of expanding filters. But basically, AICO represents a corresponding vector in every element of the icosahedral symmetry. You get one of those black-and-white symmetry groups, and think, the white ones are even octants, the black ones are odd quadrants.

Most polytopes, and all Wythoff polytopes, have vertices in every quadrant.

The routine AICO -> EPACS replaces a single point with up to five points.

The routine EPACS -> ACS replaces a single epac point (1,0,0) with three points (1,0,0), (0,1,0), (0,0,1)

The routine ACS -> ALL replaces a point of acs with up to eight standard points.

There are other coordinate systems.

EICO is just the white sectors of the icosahedral. It converts five-fold into EPECS

AICO is the icosahedral group, * 2 3 5 it five-folds down EPACS.
EICO is the rotary icosahedral group 2 3 5 (snub dodeca), it is five-fold to EPECS
APACS is the ordinary cubic symmetry. *2 3 4
EPACS is the pyritohedral symmetry 3*2
APECS is the tetrahedral symmetry *2 3 4
EP&CS is the octahedral-rotary group 2 3 4 (ie snub cube)
EPECS is the tetrahedral-rotary group 2 3 3
ACS is the rectangular group * 2 2 2

In a lace tower, the bit after the &# is another coordinate axis. So xo3oo5ox&#x actually is 4d, three over the base by AICO, and the fourth by height.
The dream you dream alone is only a dream
the dream we dream together is reality.
User avatar
Posts: 1796
Joined: Tue Jan 18, 2005 12:42 pm
Location: Brisbane, Australia

Re: Wythoff Polytopes

Postby quickfur » Fri Feb 28, 2014 6:03 pm

This got me thinking, what about non-Wythoffian polytopes? One way to generalize this that occurred to me, is the idea of "AICO": basically, it takes a reference vector V, and generates a set of vectors based on a set of transformations applied to V. In the most general case, these transformations do not have to map to any symmetry group. One could, conceivably, map V to the vertices of an irregular polytope. As long as subsequent layers of the lace tower / lace city can be expressed in terms of these transformations, we can represent all vertices with a single reference vector V.

Granted, it will be more difficult to calculate lacing heights, but in a sense, it is no different from what we're already -- at least for me, when I build the models of the CRFs, it boils down to finding two reference vectors V1 and V2 that have a lacing edge between them, and computing the required lacing height. Since V1 and V2 automatically generate the other vertices, this is sufficient to build the entire stratum. So as one builds the lace tower, which is just a matter of computing the heights between each layer, one essentially only needs to look at a single vertex per layer and everything else sorts itself out via the transforms. (Provided, of course, that the lace tower construction is sound.)

Since we're allowing arbitrary transforms, the lace "tower" no longer needs to be an actual tower in the sense of having layers of vertices on parallel hyperplanes; conceivably, one could from a single point V generate a duoprism of some order. This then allows us to describe polytopes with duocylindrical symmetry as a pseudo-"lace tower" in which the symbols employed are not simple CD diagrams, but something that describes concentric duoprisms. Perhaps a "nested" CD diagram will be able to describe such a construction, where you have the notation AnB, where A and B are nested CD symbols, and n is the order of the duoprism ring. So a tesseract could be described as (x4o)4o, and a 6,6-duoprism could be described as (x6o)6o. We can then describe a duoprismic generalized Stott expansion (x6o)6x, meaning that the x6o's are expanded outwards to form a "runcinated" 6,6-duoprism, in which the two rings of hexagonal prisms are interfaced by an additional layer of hexahedra. I haven't sat down to rigorously work out this new notation, so there may be some parts that need some ironing out, but these give a rough idea of what is possible.

Conceivably, we could also have a notation for swirlprism symmetry, in which a single vector V generates all the vertices of some underlying discrete Hopf fibration. Perhaps such a notation could be a powerful tool for discovering CRFs with swirlprism symmetry.
Posts: 2435
Joined: Thu Sep 02, 2004 11:20 pm
Location: The Great White North

Re: Wythoff Polytopes

Postby wendy » Sat Mar 01, 2014 7:24 am

If you are ultimately going to evaluate cartesian coordinates for the points, there's really no point in constructing a stott matrix. That's really an avoiding route.

Anyway, i banged together a routine AICO to EPACS. The first column is a series of constants. These are representative vectors corresponding to (1,0,0) etc for the ICO system. The second column is the expansion of the five vectors in terms of the references given in the dynkin-graph eg (x3o5o) and the six vectors in column 1. This produces five vectors P0 to P4. If any of A, B, C is zero, you only have to evaluate P0, P2, and P4. Column 3 is a reference to the numbers 1, f, F in col 1.

Feeding in from x3o5o, eg the vector (1,0,0), will give the canonical vertices of the icosahedron: that is, the one of edge of 2. This is important, because you must multiply any non-reflected edges (like lacings), by two also. But if we suppose the unit is 2, the heights are correct as given, (since it's really 2h for 2e), but the lacings have to be doubled before being used.

Code: Select all
    Given (A)3(B)5(C)

    e1  =  2f,  0, 0        P0 = A v1 + B  e1 + C h1        f = 1.61803398875
    h1  =  F,   1, 0        P1 = A v1 + B  e2 + C h1        F = 2.61803398875
    v1, =  f,   0, 1        P2 = A v1 + B  e2 + C h2
    e2  =  F,   f, 1        P3 = A v2 + B  e2 + C h2
    h2  =  f,   f, f        P4 = A v2 + B  e2 + C h1
    v2  =   1,  f, 0

When any of A, B, C are zero, only P0, P2 and P4 need be found. This gives 3 points, which expand to 60 by way of EPACS.

When any two of A, B, C are zero, the set corresponds to v1, or e1, e2 or h1, h2. This will give 12, 30 and 20 points under EPACS.

To calculate heights, only P0 needs to be evaluated.

The height of the layers are found by evaluating P0 for the difference between the top and bottom vectors, and subtracting this from 4L².

Suppose we want to find the lacing-height of xo3oo5ox. The top vector is (1,0,0). The bottom vector is (0,0,1). The difference is (1,0,-1), all ICO.

The conversion by P0 gives v1 - h1 = f-F, 0-1, 1-0 = (-1, -1, 1). This is in right-angle format, so the size of this vector is x²+y²+z² gives 3. The lacing is 1, so 4L² is 4. The indicated height is then sqrt(4-3)=1. This is actually the height for an edge of 2, but we can keep this number as it is, because we're keeping the edge at two.
The dream you dream alone is only a dream
the dream we dream together is reality.
User avatar
Posts: 1796
Joined: Tue Jan 18, 2005 12:42 pm
Location: Brisbane, Australia

Re: Wythoff Polytopes

Postby wendy » Sat Mar 01, 2014 7:36 am

The reason that i hived off the wythoffs like i did, is because the maths is easy.

You can pretty much do 'nested' dynkin symbols by using a '2' branch, eg x6o2x6o is your hexagonal duoprism. The usual dynkin/stott stuff works here too. But actually 'nesting' them, i suppose defetes the whole point of having a vector coordinate system read directly from the dynkin graph.

Cosines and Sines and matricies are about the limit of my maths at the moment. I rarely use tangents, unless the calculator tells me that atan(x) is a neater value of x than asin(x) or whatever. The books on non-euclidean geometry go on with a lot of un-neeeded rubbish about tanh and cosh etc, most of which i know you don't have to do this. The dynkin/stott matrices work just as well in hyperbolic space for example. But i rely heavily on insight and a good mindhoarde.

I suppose it would be interesting to actually do a swirl prism or something. You could do something in what johnson calls 'unitary space', and i call 'CE2' (complex euclidean hedrix), where at least a common slope gives a common swirl. I get strange ideas about this, but i really have to look through CE2 to see if i can get a consistant angle, say by way of feeding in a polytope. We can look at the complex-polytopes, and see if one can make sense of what coxeter wrote, but it's more a case of calculations.
The dream you dream alone is only a dream
the dream we dream together is reality.
User avatar
Posts: 1796
Joined: Tue Jan 18, 2005 12:42 pm
Location: Brisbane, Australia

Re: Wythoff Polytopes

Postby Klitzing » Fri Dec 08, 2017 3:52 pm

Ths particular thread was rather silent the last years.

Today I obtained an interesting fact on the 421 Gosset fugure, called fy by Jonathan Bowers. And I searched for a place to post it.

There are already several subsymmetric lace tower representations known, cf. to the ones provided in the above given link.
Code: Select all
o3o3o3o *c3o3o3o = pt
o3o3o3o *c3o3o3x = naq
x3o3o3o *c3o3o3o = laq
o3o3o3o *c3o3o3x = naq
o3o3o3o *c3o3o3o = pt
Code: Select all
o3o3o *b3o3o3o3x = zee
x3o3o *b3o3o3o3o = hesa
o3o3o *b3o3o3x3o = rez
o3o3x *b3o3o3o3o = alt. hesa
o3o3o *b3o3o3o3x = zee

Today I now found the following further representation
Code: Select all
o3o3o *b3o3o x3o = {3}
x3o3o *b3o3o o3o = hin
o3o3o *b3o3x o3x = tratac
o3o3x *b3o3o x3o = trahin
o3o3o *b3x3o o3o = rat  +  o3o3o *b3o3o x3x = {6}
x3o3o *b3o3o o3x = trahin
o3o3o *b3o3x x3o = tratac
o3o3x *b3o3o o3o = hin
o3o3o *b3o3o o3x = {3}

--- rk
Posts: 1347
Joined: Sun Aug 19, 2012 11:16 am
Location: Heidenheim, Germany

Re: Wythoff Polytopes

Postby Klitzing » Wed Dec 13, 2017 7:41 pm

The representation of fy = 4_21 of my former post was wrt. axial stacking, i.e. to be understood as lace towers.

Today I like to provide an other found representation of a different 8D polytope, in fact you can
dissect the vertex set of bay = 2_41 = x3o3o3o *c3o3o3o3o into 3 subsets, which then
provide an according description of bay as the tegum sum oxo3ooo3ooo *b3ooo3xoo3ooo3ooo3oxu&#zxt.
That is bay is the convex hull of the compound of o3o3o *b3o3x3o3o3o + x3o3o *b3o3o3o3o3x + o3o3o *b3o3o3o3o3u.
These components respectively are tark, spuho, and a u-scaled version of ek (u=2x). - Or, taken the other way round:
these 3 polyzetta all are vertex inscribable into bay, and, taken in the given respective alignments, then
those define a dissection of its vertex set with neither gaps nor overlaps: every vertex thereby is being hit exactly once.

--- rk
Posts: 1347
Joined: Sun Aug 19, 2012 11:16 am
Location: Heidenheim, Germany

Return to Other Polytopes

Who is online

Users browsing this forum: No registered users and 1 guest