Find complementary cones from a cone

asked 2020-11-17 04:38:44 -0600

amininno gravatar image

updated 2020-11-18 03:16:23 -0600

slelievre gravatar image

Suppose I have a cone constructed from a set of points. In 2d for instance:

cone1 = Cone([[-1, 4], [4, -1]])

The rays of this cone1 are exactly those two vectors I used to define the cone.

Now, I take the cone

cone2 = Cone([[1, 0], [0, 1]])

Again its rays are given by the two vectors used to define it.

Now, cone1 contains cone2, and its intersection with cone2 is exactly cone2.

I would like to know if there is a way to extract the complementary cones from cone1 "subtracting" cone2. Basically I would need:

cone3 = Cone([[-1, 4], [0, 1]])


cone4 = Cone([[1, 0], [4, -1]])

Is there a way to extract these cones?

I know that in the 2d example I can plot the cones with .plot() and subtract them visualizing them, of course this is an example. What I would like to know if there is an algorithmic way to extract all the "complementary cones" from a bigger cone that contains (completely) another cone. So I would like to find a way to define cone3 and cone4 in higher dimensions, and "algorithmically".

edit retag flag offensive close merge delete