1

I'm looking for a way to take 3 orthonormal 3D vectors $\{\mathbf{v}_1, \mathbf{v}_2, \mathbf{v}_3\}$ and map them to some manifold in $\mathbb{R}^n$ for some $n$. The whole point is that there is permutation invariance (which is why the 3 vectors are in an unordered set). But also that I can recover my original vectors with an inverse mapping. I'm not looking for all possible mappings, or even a mapping for each $n$. Just one mapping that does this for one $n$.

To illustrate what I want, I'll tell you an answer for a different problem. I have the same 3 vectors and I want the mapping to be invariant to whether I flip the sign of the vectors. This can be achieved by computing the outer product $[\mathbf{v}_1; \mathbf{v}_2; \mathbf{v}_3][\mathbf{v}_1; \mathbf{v}_2; \mathbf{v}_3]^\intercal$ which is in $\mathbb{R}^{81}$ (semicolon denotes concatentation of vectors). So going in the forward direction, sign flips have no importance, and going in the reverse direction I can recover my vectors down to a multiple of +/- 1.

  • 1
    Well, if you do not neglect the order, the manifold is simply the orthogonal group $O(3)$. You can act on it via $S_3$ (one way to see this action somewhat concretely is via the standard representation of $S_3$ as the group of permutation matrices and acting by conjugation), and the quotient $O(3)/S_3$ (mind, this is not a group quotient, since the action is conjugation rather than translation) will be the manifold you're looking for. – tomasz Jun 29 '22 at 18:38
  • @tomasz I'm not sure I have the mathematical horse power to fully understand you. I think I'm stuck on the quotient bit. I'm aware of the concept but would need to do some learning before I can understand how it fits here. Would you be able to enlighten me with an example of how the invertible mapping would work? – Alexander Soare Jun 29 '22 at 20:13
  • Sorry, I was wrong. The action actually is the (right) action of the permutation matrices on $O(3)$ (a matrix in $O(3)$ is just an ordered ortonormal triple. and multiplying by a permutation matrix on the right permutes the triple). Locally this is the same as $O(3)$, since $S_3$ is a discrete group, acting without fixed points. Since $O(3)$ is a matrix group, it is not hard to describe a local diffeomorphism in a simple manner: choose a basis of the Lie algebra of $O(3)$, the skew-symmetric matrices, and use the exponential. – tomasz Jun 30 '22 at 19:43
  • More explicitly, if you take $B_1=\begin{pmatrix}0&1&0\-1&0&0\0&0&0\end{pmatrix}$, $B_2=\begin{pmatrix}0&0&1\0&0&0\-1&0&0\end{pmatrix}$, $B_3=\begin{pmatrix}0&0&0\0&0&1\0&-1&0\end{pmatrix}$, then given any $A\in O(3)$, you have a local diffeomorphism $(t_1,t_2,t_3)\mapsto e^{t_1B_1+t_2B_2+t_3B_3}A$. The quotient map $O(3)\to O(3)/S_3$ is a local diffeomorphism as well (in fact, a covering map) – tomasz Jun 30 '22 at 19:47
  • @tomasz I think the problem with the exponential mapping is that it's not bijective. Consider the Rodrigues rotation formula which is $\mathfrak{so}(3) \rightarrow SO(3)$. Multiple values of $\theta$ give rise to the same rotation matrix. – Alexander Soare Jul 01 '22 at 08:59
  • Of course it's not bijective, if it was, $SO(3)$ would be diffeomorphic to $\mathbf R^3$, which it isn't. Why would that be a problem? – tomasz Jul 01 '22 at 17:44

1 Answers1

2

Suppose the three orthonormal vectors are ${\bf v}_i=(x_i,y_i,z_i)$ for $i=1,2,3.$ Map the unordered triple $\{{\bf v}_1,{\bf v}_2,{\bf v}_3\}$ to the polynomial in three variables $$F(x,y,z):=\prod_{i=1}^3 \Bigl((x-x_i)^2+(y-y_i)^2+(z-z_i)^2 \Bigr) \,.$$ This is a degree 6 polynomial in 3 variables, so its coefficients lie on some submanifold of some Euclidean space. Gives these coefficients, the vectors $\{{\bf v}_i\}$ can be identified as roots of the polynomial, so the mapping is invertible.

Yuval Peres
  • 21,955
  • Thanks. This answers the questions as is. Just a follow up question though. Would you know of any other mappings that are more computationally tractable? – Alexander Soare Jun 29 '22 at 20:09
  • The map is easy to compute but harder to invert. I would try taking log of the polynomial and employing gradient descent to approximate the roots, then Newton's method to speed up. – Yuval Peres Jun 29 '22 at 20:15
  • Thanks. Without delving into the details of my application that's not going to be fast enough unfortunately. But thank you all the same. If you (or anyone else who stumbles upon this) are interested, I'm trying to solve this problem. This paper gives some hints on page 4 but unfortunately they didn't tackle perfect cube symmetries. – Alexander Soare Jun 29 '22 at 20:22
  • 1
    Just a follow up here. I went ahead and implemented this with good results. Newton's method and the polynomial scared me off at first, but I realised that I could exploit the very specific form of this polynomial (especially when considering that my input vectors are orthonormal) to get a very quick inversion algorithm. What's more, is that in this specific form, only 76 coefficients are non-zero and variable with respect to the input vectors. – Alexander Soare Jul 01 '22 at 08:40
  • @AlexanderSoare That's wonderful to hear. – Yuval Peres Jul 01 '22 at 15:23