If
addCone is applied to a
Cone and a
Fan
it adds the Cone to the Fan if they are in the same ambient space, if the Cone is
compatible with every generating Cone of
F, but is not a face of one
of them. If one of the first two conditions fails, there will be an error and no fan
will be returned. The pairs of incompatible cones can be accessed with the
function
incompCones. If the last condition fails, then the cone is already in
the fan as a face of one of the cones, so it does not have to be added. The conditions
are checked in this order.
If
addCone is applied to a
List and a
Fan, then
the function adds the list cone by cone and stops if one of the three conditions
fails for one of the cones. There is again an error for the first two conditions. The
pairs of incompatible cones can again be retrieved using
incompCones.
If applied to a pair of fans it adds the generating cones of the first
fan to the second fan, again checking for the same conditions as above.
As an example, we make a fan consisting of the following cone and
try to add an adjacent orthant.
i1 : C = posHull matrix {{1,0,0},{0,1,1},{0,0,1}};
|
i2 : F = fan C
o2 = {ambient dimension => 3 }
number of generating cones => 1
number of rays => 3
top dimension of the cones => 3
o2 : Fan
|
i3 : C = posHull matrix {{-1,0,0},{0,1,0},{0,0,1}};
|
i4 : incompCones(C,F)
o4 = {({ambient dimension => 3 }, {ambient dimension => 3
dimension of lineality space => 0 dimension of lineality space =>
dimension of the cone => 3 dimension of the cone => 3
number of facets => 3 number of facets => 3
number of rays => 3 number of rays => 3
------------------------------------------------------------------------
})}
0
o4 : List
|
This shows that the two cones do not intersect in a common face, but
if we divide C into two parts, we get a fan.
i5 : C1 = intersection {C, (matrix {{0,1,-1}}, matrix {{0}})};
|
i6 : C2 = intersection {C, (matrix {{0,-1,1}}, matrix {{0}})};
|
i7 : F = addCone({C1,C2},F)
o7 = {ambient dimension => 3 }
number of generating cones => 3
number of rays => 5
top dimension of the cones => 3
o7 : Fan
|