In a paper I found in internet there is a relation about mapping a matrix into a vector and viceversa. One question has been already kindly answered here, but since I'm new to this kind of syntax I need more help.

In the paper on the third page the following relation is needed to calculate an error:

$ e_{R} = \frac{1}{2}(R_{d}^{T}R - R^{T}R_{d})^{\vee} $

which results to be a matrix. Now my concern is about the $\vee$ operator. Since it is supposed to map back a vector from that matrix, to be more precise $x \times y \mapsto y $ $\in \mathbb{R^{3}}$, I'm a little bit confused on the right way to proceed.

  1. At first I thought I could map the matrix back to the sensor simply inverting the way I did it for getting the matrix from the vector. I mean, given the matrix $$ \begin{bmatrix} 0 & -c & b\\ c & 0 & -a\\ -b & a & 0 \end{bmatrix} $$ I simply copy that components into a vector: $x = [a, b, c]$ and that's all;

  2. But reading more accurately the paper I found the following statement: "the $\vee$ map is the inverse of the hat map. We used the fact that $-\frac{1}{2}tr[\hat{x}\hat{y}] = x^{T}y$ for any $x,y \in \mathbb{R^{3}}$"... It suggests me that copying values into a vector is not a smart solution.

Now I'm a little bit confused on which way is better to get that vector from the resulting matrix:

$ \frac{1}{2}(R_{d}^{T}R - R^{T}R_{d}) = ? $


  • $\begingroup$ The "vee" map will map the skew-symmetric matrix shown in your item #1 back to the vector $[a,b,c]$, because it's the inverse of the "hat" map. So, what you had in mind is correct, it seems to me. The "vee" mapping works only when applied to a skew-symmetric matrix; but $e_R$ is skew-symmetric, so all is well. $\endgroup$
    – bubba
    Commented Dec 29, 2014 at 10:06
  • $\begingroup$ mh...I realized a C++ code for that algorithm and doesn't seem to work as expected. Maybe the problem is in getting the vector as I said before $\endgroup$
    – Dave
    Commented Dec 29, 2014 at 12:26
  • $\begingroup$ It might be useful to read this: en.wikipedia.org/wiki/… $\endgroup$
    – bubba
    Commented Dec 30, 2014 at 1:10
  • $\begingroup$ I don't see the problem here. Your definition is compatible with $\text{trace}(\hat x \hat y) = -2 x^T y$. Just multiply out the left hand side in detail, and you will see that it is correct. $\endgroup$ Commented Dec 30, 2014 at 2:15
  • 1
    $\begingroup$ $x^T y$ is a $1 \times 1$ matrix, which is interpreted as a scalar. $\endgroup$ Commented Dec 30, 2014 at 14:05


You must log in to answer this question.

Browse other questions tagged .