0

Let $K=\operatorname{conv}(x_1,,...,x_n)\subset\mathbb R^n$ be a convex polytope. Its polar set is defined as $$K^\circ\equiv\{x\in\mathbb R^n : \langle x,y\rangle\le 1\forall y\in K\}.$$ We know that $K^\circ$ is always convex, and moreover that when $K$ is a polytope, $K^\circ$ is a polytope. A few examples of polar sets in $\mathbb R^2$ are given in this answer.

Is there a good/efficient/elegant way to write the vertices of $K^\circ$, given the vertices of $K$?

glS
  • 7,963
  • 1
    For $K^\circ$ to be a polytope you addionally need that $K$ contains the origin in its interior. Also, there is not really a nice formula for the vertices of $K^\circ$, as this is equivalent to finding the facets of $K$, which is known to be computationally hard (there can be exponentially many more facets in $K$ than vertices). It can be done though: look up conversion between V- and H-representations of polytopes. – M. Winter Aug 30 '20 at 08:01
  • @M.Winter thank you. Do you have a more specific reference in mind? I understand the "V- and H- representation" to be about the duality between points and lines, thus I guess roughly speaking between faces of the polytope and their normal vectors. I see how this relates to polar sets: it seems the polar set of a singleton is its dual. This tells me that the vertices of the polar set of a polytope are the intersections of the dual lines of the original vertices (I think). Do I then just solve the corresponding linear algebraic problem of finding the intersections, or is there a better method? – glS Sep 02 '20 at 08:26
  • 1
    Sorry, I do not understand everything you wrote. A polytope can be given as the convex hull of finite many points, but also via a linear inequality $Ax\le b$ (component-wise). And both version can describe the same polytope. The first version is called V-respresentation, and the second, H-respresentation. When you are given the points $x_1,...,x_n$, then your task is to find the matrix $A$ of the H-rep. The vertices of the dual are then basically the rows of that matrix (but rescaled). I would guess that Ziegler's "Lectures on Polytopes" is a good point to start reading about the conversion. – M. Winter Sep 23 '20 at 12:36

1 Answers1

1

In principle, you have have to do the following:

The dual polytope can also be given as the set

$$P^\circ =\{x\in\Bbb R^d\mid \langle x, x_i\rangle\le 1 \text{ for all $i=1,...,n$}\}.$$

Each vertex of $P^\circ$ is the intersection of hyperplanes $\langle x,x_i\rangle =1$ for all $i\in I$ for some subset $I\subseteq \{1,...,n\}$. You would have to compute all these $\approx 2^n$ intersections $v_I\in\Bbb R^d,I\subset\{1,...,n\}$ to find all the "potential vertices" (you can be a bit clever here, but it stays $\mathcal O(2^{n/2})$). That is

$$P^\circ=\mathrm{conv}\{v_I\mid I\subseteq\{1,...,n\}\}.$$

Then you have to check which of these are actual vertices, because some $v_I$ might violate an inequality $\langle x,x_i\rangle\le 1$ for some $i\not\in I$.

I suppose there are much more clever ways to do the details, but the core idea is the one above. Also this will never happen in polynomial time.

M. Winter
  • 30,828