The tangent space of the rotation group at some rotation \(R\) has 2 different representations. There is a left and a right representation.
The left tangent space is defined by
\[ T_R SO(3) = \{ S \cdot R | S=-S^T \} = \mathfrak{so}(3) \cdot R, \]
where \(\mathfrak{so}(3)\) describes the set of all skew symmetric matrices, i.e. spinTensor's.
Analogously the right tangent space is defined by
\[ T_R SO(3) = \{ R \cdot S | S=-S^T \} = R \cdot \mathfrak{so}(3). \]
Note that the left and right tangent spaces describes the same in different notations.
In MTEX a tangent vectors is defined by its spinTensor and an attribute which describes whether it is right or left. Moreover the spinTensor is saved as vector3d, in the following way:
Note that the default tangent space representation is left. We can construct an right tangent vector by
Here vL and vR have the same coordinates in different spaces (bases). Hence they describe different tangent vectors.
We can also transform left tangent vectors to right tangent vectors and vice versa. Therefore the rotation in which the tangent space is located is necessary.
We can do the same manually by
Vector Fields
Vector fields on the rotation group are functions that maps any rotation to an tangent vector. An important example is the gradient of an SO3Fun.
Hence any vector field has again a left and a right representation.
The gradient can also be computed as function, i.e. as SO3VectorField, which internal is an 3 dimensional SO3Fun.
Again we are able to change the tangent space
Note that the symmetries do not work in the same way as for SO3Fun's. Dependent from the chosen tangent space representation (left/right) one of the symmetries has other properties.
In case of right tangent space the evaluation in symmetric orientations only make sense w.r.t. the left symmetry. In case of left tangent space vice versa.