Is there some other obstruction?
E8 is implemented, but the labeling of the nodes is unclear. The source code in simple_roots.cc says
Code: Select all
7


0  1  2  3  4  5  6
But in the perl interface, \( \texttt{help 'simple_roots_type_E8'} \) says
Code: Select all
7


0  1  2  3  4  5  6
It would be nice if the function \( \texttt{pyramid(P, z)} \), where z is a Rational giving the height of the new apex, took z of type QuadraticExtension as well. This would allow, for example, the recursive construction of a fulldimensional regular simplex via
Code: Select all
$n++;
$t = pyramid($t, new QuadraticExtension(0,new Rational(1,2*$n),2*$n*($n+1)));
(starting from \( n=1 \), with $t a length1 line segment.)
Speaking of this, constructing a fulldimensional regular simplex seems overly difficult. I would really appreciate a \( \texttt{regular_simplex} \) method, to go along with \( \texttt{cube} \) and \( \texttt{cross} \) (\( \texttt{simplex} \) produces a "standard" simplex, which is not regular.)
The function \( \texttt{wythoff("An", new Set<Int>(0))} \) produces a regular nsimplex in (n+1) dimensions, which is not full dimensional, and using \( \texttt{projection_full} \) on this results in a standard simplex again.
Other polytope construction functions, such as \( \texttt{edge_middle} \) and \( \texttt{truncation} \), could also be updated to work with QuadraticExtension. In polymake 2.13 (and the current perpetual beta), both fail to produce a rectified 120cell, presumably due to rational approximation.
Code: Select all
> $reg120 = regular_120_cell();
> $rect120 = edge_middle($reg120);
> print $rect120>F_VECTOR;
1200 4896 5472 177
Here, \( \texttt{edge_middle} \) produces spurious edges and faces, and misses many cells (the correct F_VECTOR is 1200 3600 3120 720.)
Code: Select all
> $rect120 = truncation($reg120,All,cutoff=>1);
> print $rect120>F_VECTOR;
2400 4800 3120 720
Here, \( \texttt{truncation} \) produces spurious vertices.
\( \texttt{wythoff("H4", range(1,1))} \) produces the correct polytope.