Let $p \in \mathbb R^4$ be a point and let $C$ be the $4$-dimensional unit hypercone represented with the equation $x^2 + y^2 + z^2 = w^2$. Is there an elegant way (like a closed form solution) to project a point $p$ onto $p^* \in C $, where $p^*:=\arg\min_{p_c\in C} \Vert p_c - p\Vert$? $\Vert\cdot\Vert$ is the euclidean norm.
Asked
Active
Viewed 114 times
1
-
1This is a non-convex cone; the boundary of a double cone (pointing both up and down in the $w$ axis). This will make the projection multi-valued at certain points, and thus more complicated than simply projecting onto the convex cone $w \ge \sqrt{x^2 + y^2 + z^2}$. Just to confirm, was this your intention: to project onto the non-convex boundary of the double cone? – Theo Bendit Jun 11 '22 at 10:32
-
That's a good question @TheoBendit. It is indeed the case that I'd like to project onto the surface of the non-convex cone. However, I think we can assume to map onto the two convex parts ($w=\pm\sqrt{x^2+y^2+z^2}$) separately? (Please note the equal sign, instead of the greater equal in your comment.) Then pick the one with the smaller norm ($\Vert p^* - p\Vert$, from my question above). If the norms are equivalent wlog we can pick one of either of those two convex cones in my specific scenario. Or are there other restrictions I'm missing right now? – SemtexB Jun 11 '22 at 18:22
-
@TheoBendit: Did you have anything in mind in the case of the convex convex cone, or even in case of the non-convex boundary of the double cone? – SemtexB Jun 20 '22 at 07:03
-
I do, and I even got most of the way through writing an answer, but other commitments took me, unfortunately. The projection formula was, from memory,$$P_C(x,r)=\begin{cases}\left{\frac{|x|+r}{2}\left(\frac{x}{|x|},1\right)\right}&\text{if }x\neq0\text{ and }r>0\\left{\frac{|x|+r}{2}\left(\frac{-x}{|x|},1\right)\right}&\text{if }x\neq0\text{ and }r<0\\left{\frac{|x|+r}{2}\left(\frac{x}{|x|},1\right),\frac{|x|+r}{2}\left(\frac{-x}{|x|},1\right)\right}&\text{if }x\neq0\text{ and }r=0\\left{\frac{r}{2}(u,1):|u|=1\right}&\text{if }x=0.\end{cases}$$ – Theo Bendit Jun 20 '22 at 11:58
-
Oh, I should mention, I'm working not in $\Bbb{R}^4$, but in $\Bbb{R}^n \times \Bbb{R}$ (or indeed $X \times \Bbb{R}$, where $X$ is any real inner product space). The cone is ${(x, r) \in X \times \Bbb{R} : |x|^2 = r^2}$. In your case, we have $X = \Bbb{R}^3$. – Theo Bendit Jun 20 '22 at 12:00
-
Awesome, that seems to work as desired :) Thank you very much. So AFAIU (neglecting the x=0 case) you project $(x,r)$ onto $(\frac{\pm x}{\Vert x \Vert}, 1)$ and then scale it with $w:=\frac{\Vert x \Vert+r}{2}$. Could you explain where that scaling factor $w$ comes from? – SemtexB Jun 22 '22 at 15:37
-
The scaling factor comes from the projection. The rotational symmetry of this picture suggests to me that we can boil it down to a $2$-dimensional subspace spanned by $(x/|x|,0),(0,1)$ - note that this is orthonormal, so the coordinate vector map to $\Bbb{R}^2$ is isometric. In these coordinates, $(x,0)$ is $(|x|,0)$. Projecting $(|x|,r)$ onto $(1,1)$ or $(-1,1)$ in $\Bbb{R}^2$, using the usual formula $\frac{v\cdot w}{w\cdot w}w$ gives us the projections in the formula. – Theo Bendit Jun 22 '22 at 15:56