Given a convex polytope $P\in \mathbb{R}^n$, and a point $x\in P$, Caratheodory's theorem gives us that there exists a set of at most $n+1$ vertices of $P$, such that $x$ is a convex combination of the elements of this set.


I am interested in figuring out the computational complexity (and algorithm, if available) of finding such a set.


Thanks!



Finding the convex combination of vertices which yields an inner point of a polytope
Hopefully I am using the right notion of convex combination. The following requires at most n+1 steps, however I do not know how complicated a step is.


Take the given point x and a vertex v visible from x. Thus the line through v and x passes through the polygon from v to x to a point p on a face or facet on the other side. x should be a convex combination of v and p. But p is a point interior to a polygon of smaller dimension, and (if I haven't missed my guess) is a convex combination of n or fewer vertices of the polytope. Now induct with p taking the role of x.


I can imagine having to search the vertex space to find v at each stage. However, coming up with a simplicial decomposition of certain parts of the polytope may speed up this part.


Gerhard "Ask Me About System Design" Paseman, 2012.02.14


