Blog:How to find the number of facets on a regular polytope given its Schlafli symbol? An introduction to the value d/g

NOTE: This post does not fully answer the question in the title. It is mostly a summary of my partial results after trying for years to answer it. Also, my knowledge of this subject may increase rapidly in the future depending on what I find and make this post obsolute.

How to find the number of facets on a regular polytope given its Schlafli symbol? The problem of finding a numerical formula for the element counts of a polytope given its Schlafli symbol has captured the imagination of many people since they first learned what Schlafli symbols are.

To begin with, are the numbers 4, 6, 8, 12, 20 of faces on the Platonic solids part of a larger "natural" sequence? Obviously we can do polynomial interpolation, but this does not give insight into why these values are what they are. Each one seems the result of so many unique coincidences, and it seems most natural to solve the problem for individual cases by counting faces individually. However, there is a rather easy formula for deriving the face counts:

If the Schlafli symbol is {p, q}, the number of faces is $$f = (4q)/(2q + 2p + pq)$$

This can be derived by using Euler's identity as well as the proportional relation between the number of faces, edges, and vertices (derived from the symmetry group):


 * $$f + v - e = 2$$
 * $$f + f \cdot p/q - f \cdot p/2 = 2$$
 * $$f = 2/(1 + p/q + p/2) = (4q)/(2q + 2p + pq)$$

Applying this formula to regular Euclidean tilings gives division by zero. Applying the formula to regular hyperbolic tilings gives negative numbers.

=Introduction to the value d/g=

For convex Wythoffians
We can generalize the above problem to finding a formula giving the order of the symmetry group from the Coxeter-Dynkin diagram. Note that this value can be used to find the number of faces by dividing by the symmetry of the face type.

Let f, e, and v be the number of faces, edges, and vertices of xpxqxr*a, and g be the order of symmetry.


 * $$f = g/(2p) + g/(2q) + g/(2r)$$
 * $$e = 3g/2$$
 * $$v = g$$

Then $$g/(2p) + g/(2q) + g/(2r) + g - 3g/2 = 2$$.

We can solve this to get: $$g = (4pqr)/(pq + pr + qr - pqr)$$

This formula gives undefined values for Euclideans and negative values for hyperbolics.

To have a well-defined value for all values of p, q, and r, we can take the inverse, which is the formula for 1/g:


 * $$1/g = (pq + pr + qr - pqr)/(4pqr) = 1/(4p) + 1/(4q) + 1/(4r) - 1/4$$

For nonconvex Wythoffians
The same formula can be applied to the angles of Schwarz triangles of nonconvex Wythoffians. In this case, the formula gives the more general value d/g, where d is the density of the spherical tiling leading to the polytope and g is the order of symmetry. Because the fundamental region tessellates the full sphere overlapping d times at each point, the value d/g is also (area of fundamental triangle)/(surface area of sphere).

Alternate derivation
Girard's theorem gives the area of a spherical triangle as a fraction of the sphere in terms of the angles. The formula is:

$$(A + B + C - \pi)/(4\pi)$$

where A, B, and C are the angles. This gives us an alternate way to derive d/g for the Coxeter diagram opoqor*a:


 * $$d/g = (\pi/p + \pi/q + \pi/r - \pi)/(4\pi)$$
 * $$= (1/p + 1/q + 1/r - 1)/4$$
 * $$= 1/(4p) + 1/(4q) + 1/(4r) - 1/4$$

which is the same value as given above.

=Attempt at calculation for higher dimensions=

This value, (area of fundamental triangle)/(surface area of sphere), can be extended to higher dimensional Wythoffians as (area of fundamental simplex)/(surface area of sphere). It exists for all spherical simplices even if they produce infinitely dense tessellations (note that even spherical triangles with rational angles can do this, such as o5/2o5/2o). So the value (area of fundamental simplex)/(surface area of sphere) (hereafter referred to as d/g) is a good interpolation of the value d/g for Wythoffians with finite symmetry, because it self-evidently must equal d/g for all finite symmetry cases and 1/g for all convex cases. A formula for this value leads to a formula for the number of facets of a regular polytope and many other applications.

In 4D
We might expect to use the Euler characteristic to find the order of symmetry of polychora. However, this does not work:

For opoqoro:


 * c + e - f - v = 0
 * g/o(opoqo) + g/o(o oro) - g/o(opo o) - g/o(oqoro) = 0
 * g/((8pq)/(-pq + 2p + 2q)) + g/(4r) - g/(4p) - g/((8qr)/(2q + 2r - qr)) = 0
 * 0 = 0

For convex regular polychora, Euler's identity is always satisfied and tells us nothing about the polychoron's symmetry order.

For opoqoros*at*c *bu*d, going by the omnitruncate:


 * c + e - f - v = 0
 * g/o(opoqot*a) + g/o(orosot*a) + g/o(oposou*a) + g/o(oqorou*a) + 2g - g/(2p) - g/(2q) - g/(2r) - g/(2s) - g/(2t) - g/(2u) - g = 0
 * g*((pq + pt + qt - pqt)/(4pqt) + (rs + rt + st - rst)/(4rst) + (ps + pu + su - psu)/(4psu) + (qr + qu + ru - qru)/(4qru) - 1/(2p) - 1/(2q) - 1/(2r) - 1/(2s) - 1/(2t) - 1/(2u) + 1) = 0
 * 0 = 0

For general spherical Coxeter groups, Euler's identity still doesn't tell us anything about the symmetry order.

In fact, the Euler characteristic of nonconvex omnitruncated polychora isn't a function of the density, either. So if we could find a formula for the order of spherical Coxeter groups, it wouldn't help us find a formula for d/g for fundamental domains of nonconvex Wythoffians.

In 5D and above
Because the Euler characteristic of convex polytera is 2, we might imagine that if we have an "oracle" that gives us the order of symmetry of regular polychora from the Schlafli symbol, we can use it to find the symmetry of regular polytera:

For opoqoroso:


 * t + f + v - c - e = 2
 * g/o(opoqoro) + g/o(opo oso) + g/o(oqoroso) - g/o(opoqo o) - g/o(o oroso) = 2
 * g/o(opoqoro) + g/(4ps) + g/o(oqoroso) - g/((16pq)/(-pq + 2p + 2q)) - g/((16rs)/(-rs + 2r + 2s)) = 2

Let U = o(opoqoro) and V = o(oqoroso). Then we get:


 * g = (16pqrsUV)/(8pqrsV + 2qrUV + 8pqrsU + pqrsUV - prsUV - qrsUV - pqrUV - pqsUV)

We can check that if we plug in p = q = r = s = 3 and U = V = 120, we get g = 720, the order or A(5) symmetry. If we plug in p = 4, q = r = s = 3, U = 384, and V = 120, we get g = 3840, the order of C(5) symmetry.

Using this formula, we can calculate values for the "number of facets" of the hyperbolic tessellations {5, 3, 3, 3} and {3, 3, 3, 5}. But strangely, when we plug in the values for o5o3o3o3o symmetry we get g = 28800 rather than a negative value like one would expect. This appears to be a blow to our hopes that we can use the Euler characteristic to find a formula for d/g, even in the special case of the symmetry group of a regular polyteron.

In fact, this is my favorite proof that there is no convex finite polyteron with Schlafli symbol {5, 3, 3, 3}. If one existed, we could use the Euler characteristic as well as symmetry-based relations between element counts to conclude that {5, 3, 3, 3} has only two facets.

Unfortunately, our 5D formula for g is also broken when it comes to nonconvex shapes, because the Euler characteristic of uniform polytera isn't a function of the density. For example, the great penteractipenteractitriacontaditeron has a density of 5 but an Euler characteristic of -68. So it can't be used to construct a formula for d/g.

=The value d/g as an oracle=

Besides being a post about polytopes this is also an exercise in complexity theory.

There are several measures in Wythoffian polytopes that can be given as a function of the Coxeter-Dynkin diagram. Direct, algebraic formulas for these values are not usually used, so it is easy to forget which ones even have simple formulas. Which measurements have known simple algorithms for computation based on branch labels in the CD, and which ones have simple reductions to an oracle for the value d/g?

Let's start with calculating things about regular polytopes given Schlafli symbol. We will look at measurements that make sense for all spherical regular polytopes with rational numbers greater than or equal to 2 in their Schlafli symbol, even those with infinite density.


 * Short chord of a polygon: For polygon {p} with edge length 1, the short chord is given by $$2\cos(\pi/p)$$
 * Circumradius: The circumradius of {p, q, r, ..., z} can be given by starting with $$\cos(\pi/z)$$, repeatedly applying $$a \rightarrow cos(\pi/x)/\sqrt{1 - a^2}$$ where x is the previous number in the Schlafli symbol, working backwards through the Schlafli symbol, and then applying $$a \rightarrow 1/(2\sqrt{1 - a^2})$$.
 * The formula for a polychoron {p, q, r} is $$1/2 \sqrt{(sin(\pi/r)^2 - cos(\pi/q)^2)/(sin(\pi/r)^2 sin(\pi/p)^2 - cos(\pi/q)^2)}$$
 * Dihedral angle: This can be found by an application of the circumradius formula by constructing a honeycomb whose facets are {p, q, r, ..., z} and finding the Schlafli symbol {w} of the peak-figure polygon required for it to be Euclidean. The value {w} might be a non-integer, or even irrational, but the circumradius formula will still work to find it because the formula is continuous. We can simply choose the value of w to be such that {p, q, r, ..., z, w} gives undefined (division by zero) on the last step of the circumradius formula, indicating Euclideanness. However, it is easier to test for Euclideanness of the dual {w, z, ..., r, q, p}. Simply apply the steps of the formula from p through z, and then solve for the value of w that makes the denominator of the last step zero. The dihedral angle of {p, q, r, ..., z} is simply the angle between a vertex of {w}, the center of {w}, and an adjacent vertex, which is $$2\pi/w$$.
 * For a polyhedron {p, q}, the dihedral angle is $$2 \sin^{-1}(\cos(\pi/q)/\sin(\pi/p))$$.
 * Solid angle at vertices: What fraction of a hypersphere centered at a vertex of {p, q, r, ..., z} intersects with the polytope? Unlike the values above, this measurement is no easier to calculate than the value d/g for the symmetry group of {p, q, r, ..., z}. To show this, we reduce the calculation of d/g to the solid angle calculation. Imagine we have an oracle to calculate the solid angle at a vertex of any regular polytope given its Schlafli symbol. To find d/g for {p, q, r, ..., y, z}, we first find w so that {w, p, q, ..., y, z} is Euclidean, which can be found by setting the denominator of the circumradius formula equal to zero. We then calculate the solid angle at a vertex of {w, p, q, ..., y}, which is equal to the solid angle from the center of a facet of {p, q, r, ..., z}. Finally, we recursively call a formula for d/g({p, q, r, ..., y}) and multiply by this result. This gives us the value d/g({p, q, r, ..., y, z}).
 * Calculating the solid angle is also no harder than calculating d/g. In particular, we can calculate the solid angle for {p, q, r, ..., z} by calculating w as described in the dihedral angle section and then calculating d/g for {q, r, ..., z, w}. Then we divide this value by d/g of {q, r, ..., z}. The result is the fraction of a hypersphere taken up by a solid angle of {p, q, r, ..., z}.
 * Inradius: The circumradius of {p, q, r, ..., y, z} is the hypoteneuse of a right triangle whose legs are the circumradius of {p, q, r, ..., y} and the inradius of {p, q, r, ..., y, z}. Thus, inradius calculation can be reduced to circumradius calculation.
 * Hypervolume: The hypervolume of {p, q, r, ..., y, z} (or hypervolume per layer of density if {p, q, r, ..., y, z} is nonconvex) can be found inductively as (# facets/layer/facet density)*vol({p, q, r, ..., y})*ir({p, q, r, ..., y, z})/dimension, with the base case that the hypervolume of a dyad is 1. This comes from the formula for the volume of a pyramid. This means that hypervolume calculation can be reduced to the number of facets per layer per facet density, which in turn can be reduced to finding d/g. Conversely, finding d/g for a regular polytope can be reduced to finding the number of facets per layer per facet density (just calculate this value for the shape, its facet, its ridge, etc., multiply, and take the reciprocal), which in turn can be reduced to finding the hypervolume using vol({p, q, r, ..., y, z})*dimension/vol({p, q, r, ..., y})/ir({p, q, r, ..., y, z}). This means that finding the hypervolume and finding d/g have equivalent complexity.

Not only do all these values have simple formulas in terms of d/g, but for most of them, a formula for that measurement could be used to make a formula for d/g, at least for the case of Coxeter diagrams for regular polytopes. If this happens, it can probably be adapted to find d/g based on similar measurements for general Coxeter diagrams.

=Approximations of d/g=

The definition of d/g as (area of fundamental simplex)/(surface area of sphere) is valid for all valid values of angles between a set of n reflections in spherical space. Under this definition, d/g is a function over a continuous subset of $$\mathbb{R}^{n(n - 1)/2}$$.

We might try to use curve fitting to find numerical approximations to d/g in a particular dimension based on known values, or even search for an exact formula.

In 2 dimensions, the formula for d/g of opo is $$1/(2p)$$.

In 3 dimensions, the formula for d/g of opoqor*a is $$1/(4p) + 1/(4q) + 1/(4r) - 1/4$$.

Therefore, to find d/g in 4 dimensions for opoqoros*at*c *bu*d, we might guess a polynomial in 1/p, 1/q, 1/r, 1/s, 1/t, and 1/u. (In fact, it is not a polynomial or even a rational function with rational coefficients, see the next section.) Even if it is not a polynomial, it can still be approximated by a multi-variable Taylor series assuming it is real analytic. Due to the tetrahedral symmetry of the diagram with unlabeled branches, many coefficients of this series should be equal. For example, all the linear coefficients should be equal, as well as the coefficients on {1/p^2, 1/q^2, 1/r^2, 1/s^2, 1/t^2, 1/u^2}, {1/pq, 1/ps, 1/pt, 1/pu, 1/qr, 1/qt, 1/qu, 1/rs, 1/rt, 1/ru, 1/st, 1/su}, and {1/pr, 1/qs, 1/tu}.

For the known values, we can use data from Klitzing's webpage of Goursat tetrahedra with information about density and symmetry.

I tried using linear regression on coefficients to find a degree-3 polynomial of 1/p through 1/u that approximated d/g in 4 dimensions. I chose 28 CD diagrams from Klitzing's page, and fed them into my regression model.

Results
The correlation coefficient between the actual values and predicted values on the training data was 0.999.

I tested the formula on a selection of other CD's of known polychoron families and got the following values:


 * d/g(o3o3o5o) = 4.75202e-05 (should be 1/14400; error -2.19e-5)
 * d/g(o3o3o5/2o) = 0.01263665 (should be 191/14400; error -6.27e-4)
 * d/g(o3o3o4o) = 0.002556694 (should be 1/384; error -4.75e-5)
 * d/g(o3o3o4/3o) = 0.03896243 (should be 15/384; error -1.00e-4)
 * d/g(o5o3o5/2o) = 0.001664943 (should be 20/14400; error +2.76e-4)
 * d/g(o3o4o3o4/3*a) = 0.01218981 (should be 14/1152; error +3.70e-5)
 * d/g(o3o3o5o5/3*a) = 0.004745563 (should be 55/14400; error +9.26e-4)
 * d/g(o3o3o3o3/2*b) = 0.02604237 (should be 3/120; error +1.04e-3)
 * d/g(o3o4o *b3o) = 0.0002881993 (should be 0; error +2.88e-4)

I could probably make a better model by scraping all the data from this page (https://bendwavy.org/klitzing/explain/goursat.htm) and using half of it as training data.

=Speculation on the nature of d/g=

There are a lot of questions on d/g that I don't know how to answer. For example, do dense spherical groups even get nice rational values in general? I know they do up to 3 dimensions due to the simple rational expressions. However, I don't know whether d/g for o3o5/2o3o is rational, for instance.

Even if there is a closed-form expression, it may require a lot of insight to prove that certain inputs give rational outputs, rather than just plug-and-chug. For example, it may require taking inverse trigonometric functions, and thus it may require the knowledge of which algebraic numbers are the sines or cosines of rational angles.

It may be possible to calculate the coordinates of the spherical simplex using trigonometry and use integration with (higher-dimensional versions of) spherical coordinates to find the volume. However, it is possible that the resulting integral does not have a closed-form formula in terms of the dihedral angles, even if closed-form expressions exist for certain choices of angles. As an example of how difficult finding a closed form via such a method might be, Richardson's theorem says that for an expression f(x) made from addition, multiplication, exponentiation, trigonometric functions, ln, pi, and the absolute value, the problem of determining whether a closed form expression for the integral exists is undecidable.

It is interesting to note that many "special cases" of d/g do have simple formulas. For example, the formula f(p) = d/g(o3opo3op/(p - 1)*a) appears to equal $$1/36 - 1/4 (1/p - 1/2)^2$$, based on 9 data points from Klitzing's website. I conjecture it fits this formula exactly for all real values of p giving valid spherical tetrahedra.

Proof: d/g in 4 dimensions is not a polynomial with rational coefficients
Assume by contradiction that d/g = P(1/p, 1/q, 1/r, 1/s, 1/t, 1/u) where P is a polynomial with rational coefficients. By substituting in 1/q = 1/r = 1/3 and 1/s = 1/t = 1/u = 1/2, we get a polynomial Q(1/p) with rational coefficients for the d/g value of opo3o3o.

When $$\tau/p$$ is the dihedral angle of a tetrahedron, the polytope is a dense Euclidean tiling of R^3, and so Q(1/p) = 0. Thus, 1/p must be algebraic. However, tau/p = arccos(1/3). By Baker's theorem, if the cosine of an angle is rational, the angle must be a rational or transendental fraction of a circle. Furthermore, the only rational values given by rational angles are -1, -1/2, 0, 1/2, and 1, so 1/p is transcendental. This contradicts the fact that 1/p is algebraic, and so the coefficients of P cannot be rational.

A similar proof shows that there is no rational function R(1/p, 1/q, 1/r, 1/s, 1/t, 1/u) with rational coefficients for d/g.

Knowing that d/g is not a rational function with rational coefficients in general, it seems much less likely that d/g is rational for rational branch labels giving dense polytopes, even though it must be rational for rational branch labels giving non-dense polytopes.

"Analytic continuation" to hyperbolic shapes
It seems quite likely that d/g is a real analytic function of the branches on the CD, but I am unable to prove it. If so, it would mean that d/g can be analytically continued to give valid values for hyperbolic CD diagrams in addition to the continuum of real branches for spherical diagrams, even though the definition (in terms of spherical simplex volume) does not work for those diagrams.

We know that in 3 dimensions, the values of d/g for hyperbolic CD diagrams are negative. Are they also negative in 4 dimensions? If we plot points for 1/p on the x-axis vs the d/g for o3o3opo on the y-axis, the slope appears to be shallower as it approaches 0, and the value y = 1/14400 at x = 1/5 is surprisingly close to 0 considering y = 0 happens at about x = 1/5.19 (this can be derived by finding the value of p that makes {3, 3, p} dense Euclidean). Considering this, it is plausible that y = 0 is a tangent point to this curve and the values of d/g for hyperbolic CD's in 4 dimensions are still positive. Here is a Desmos graph with my attempts at trying to fit this and other curves: https://www.desmos.com/calculator/glumlr6nlb

On the other hand, another "cross-section" of the graph through d/g gives values for CD diagrams of the form opoqor*a o (by setting some values equal to 2). For spherical diagrams this value is half the value for opoqor*a, so if the function is indeed analytic it will be half the value for hyperbolic diagrams as well (such as o3o7o o) and thus negative for some hyperbolics.