areCompatible is an extension of
commonFace for Cones. It
also checks if the intersection
C of
C1 and
C2 is a
face of each and the answer is given by
b. Furthermore, the intersection
is given for further calculations if the two cones lie in the same ambient space. Otherwise,
the empty polyhedron in the ambient space of
C1 is given.
For example, consider the following three cones
i1 : C1 = posHull matrix {{1,0},{0,1}};
|
i2 : C2 = posHull matrix {{1,-1},{0,-1}};
|
i3 : C3 = posHull matrix {{1,-1},{2,-1}};
|
These might form a fan, but if we check if they are compatible, we see they
are not:
i4 : areCompatible(C1,C2)
o4 = (true, {ambient dimension => 2 })
dimension of lineality space => 0
dimension of the cone => 1
number of facets => 1
number of rays => 1
o4 : Sequence
|
i5 : areCompatible(C2,C3)
o5 = (true, {ambient dimension => 2 })
dimension of lineality space => 0
dimension of the cone => 1
number of facets => 1
number of rays => 1
o5 : Sequence
|
i6 : areCompatible(C3,C1)
o6 = (false, {ambient dimension => 2 })
dimension of lineality space => 0
dimension of the cone => 2
number of facets => 2
number of rays => 2
o6 : Sequence
|