0
$\begingroup$

Say I have a collection of points $x_i$ that define the surface of a fully general ellipsoid in three dimensions, except let's assume that ellipsoid is centered at the origin. I know that the ellipsoid can be represented by

$$ v^T A v = 1 $$

where $v=[x\ y\ z]^T$ and $A$ is a matrix formed from the coefficients of the quadric representation of the ellipsoid. The Cholesky decomposition gives a matrix $L$ such that

$$ A = LL^T $$

I read and believe that I can transform my points onto the unit sphere by

$$ y_i = Lx_i $$

I am struggling to understand why this should be the case, and haven't managed to find a good explanation as to why this works.

If an intuitive geometric interpretation exists, that would be particularly valuable. The problem at hand is sensor calibration. I have written a working C++ function to calibrate noisy sensor data, but I made the classic blunder of not properly recording my reference material when I first wrote it, and now I can't find it again. I have found many papers following a very similar approach but everything I've found treats this step as obvious. I'm now trying to document this in a way that can be understood by other software engineers.

My own background is in mathematical physics, so if an intuitive geometric interpretation does not exist, a more formal treatment is fine.

$\endgroup$

1 Answer 1

0
$\begingroup$

After this answer has been accepted, I found a mistake. The correct formula for $y_i$ should be $y_i:=L^\top x_i$. Consider the counter-example in 2D space $$ \begin{align*} A&:=\begin{bmatrix}1 & 1 \\ 1 & 2 \end{bmatrix} \\ L&:=\begin{bmatrix}1 & 0 \\ 1 & 1 \end{bmatrix} \\ x&:=\begin{bmatrix}1 \\ 0 \end{bmatrix} \end{align*} $$ Then $$ \begin{align*} LL^\top &= A \\ x^\top A x &= 1 \\ Lx&=\begin{bmatrix}1 \\ 1 \end{bmatrix}\not\in S^1 \\ L^\top x &= \begin{bmatrix}1 \\ 0 \end{bmatrix}\in S^1 \end{align*} $$


To prove that a vector $y_i$ is on the unit sphere, simply prove that $\lVert y_i \rVert=1$, or equivalently $\lVert y_i \rVert^2=1$.

For all $x_i$ on the ellipsoid, we indeed have $$ \begin{align*} 1 &= x_i^\top A x_i \\ &= x_i^\top L L^\top x_i \\ &= (L^\top x_i)^\top(L^\top x_i) \\ &= \lVert L^\top x_i \rVert^2 \\ &= \lVert y_i \rVert^2, \\ \end{align*} $$ so all the corresponding $y_i$ are on the unit sphere.

$\endgroup$
2
  • $\begingroup$ Thanks, so simple in the end, don't know how I missed. Was blocked on it for ages. $\endgroup$ Commented Dec 20, 2022 at 16:09
  • $\begingroup$ @ColinBroderick Actually I just found a mistake. The correct definition of $y_i$ should be $L^\top x_i$. I edited my answer. $\endgroup$
    – durianice
    Commented Dec 20, 2022 at 18:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .