Description
isPure tests if the
Fan/
PolyhedralComplex is pure by checking if the first and the last entry in the list of generating Cones/Polyhedra are of the same dimension.
Let us construct a fan consisting of the positive orthant and the ray
v that is the negative sum of the canonical basis, which is obviously not pure:
i1 : C = coneFromVData matrix {{1,0,0},{0,1,0},{0,0,1}}
o1 = C
o1 : Cone
|
i2 : v = coneFromVData matrix {{-1},{-1},{-1}}
o2 = v
o2 : Cone
|
i3 : F = fan {C,v}
o3 = F
o3 : Fan
|
i4 : isPure F
o4 = false
|
But we can make a pure fan if we choose any two dimensional face of the positive orthant and take the cone generated by this face and
v and add it to the cone:
i5 : C1 = coneFromVData (rays C)_((faces(1,C))#0)
o5 = C1
o5 : Cone
|
i6 : C1 = coneFromVData(C1, v)
o6 = C1
o6 : Cone
|
i7 : F = addCone(C1,F)
o7 = F
o7 : Fan
|
i8 : isPure F
o8 = true
|