If
F is projective, then there exists a polyhedron
P such that
F
is the normalFan of
P. This means every codimension 1 cone of the Fan corresponds exactly to
an edge of the polytope. So consider
QQ to the number of all edges. This can be considered as the
space of all edge lengths. If we take arbitrary lengths now for every edge we do not get a polytope. But
every codimension 2 cone of the fan corresponds to a 2 dimensional face of the polytope and if the edges
belonging to this face add up to 0 zero, they form in fact a 2 dimensional face. This gives linear
equations on the space of edge lengths and if we intersect these equations with the positive orthant in
the space of edge lengths we get a Cone. Thus, there exists such a polytope if and only if there is a
vector in this cone with strictly positive entries, since every edge has to appear in the polytope.
IF
F is polytopal, the function
polytope returns a polytope of which
F is
the normalFan.
Note that the function first checks if the fan is complete.
i1 : C1 = posHull matrix {{1,0},{0,1}};
|
i2 : C2 = posHull matrix {{1,-1},{0,-2}};
|
i3 : C3 = posHull matrix {{0,-2},{1,-1}};
|
i4 : C4 = posHull matrix {{-1,-2},{-2,-1}};
|
i5 : F = fan{C1,C2,C3,C4}
o5 = {ambient dimension => 2 }
number of generating cones => 4
number of rays => 4
top dimension of the cones => 2
o5 : Fan
|
i6 : isPolytopal F
o6 = true
|