I am trying to find extreme rays of a polyhedral cone using polymake. My understanding is that in a cone, every feasible solution is also a ray and an extreme ray is a ray that cannot be written as the convex combination of two other rays. The methods
LINEARITY_SPACE give me some rays that generate the cone but I found an example where one of the rays can be written as the combination of two other rays. Are the results of
RAYS not guaranteed to be extreme rays? If so, is there a method to get the extreme rays?
declare $cone=new Cone<Rational>(INEQUALITIES=>[[1, 0, 1], [2, 1, 0]]); # Note that all variables are unbounded. print_constraints($cone); Inequalities: 0: x0 + x2 >= 0 1: 2 x0 + x1 >= 0 print $cone->RAYS; 1 -2 0 0 1 0 print $pq->LINEALITY_SPACE; -1 2 1
The first returned ray $(1, -2, 0)$ can be written as $(1, -2, -1) + (0, 0, 1)$ so it cannot be extreme.