|
| Algebra (const Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > &v) |
|
| Algebra (const T_SCALAR_TYPE a, const T_SCALAR_TYPE b, const T_SCALAR_TYPE c) |
|
Algebra< T_SCALAR_TYPE > | inverse () const |
|
void | operator+= (const Algebra< T_SCALAR_TYPE > &g) |
|
void | operator*= (T_SCALAR_TYPE s) |
|
Algebra< T_SCALAR_TYPE > | bracket (const Algebra< T_SCALAR_TYPE > &g) const |
|
Algebra< T_SCALAR_TYPE > | Ad (const Group< T_SCALAR_TYPE > &g) const |
|
Algebra< T_SCALAR_TYPE > | Ad_star (const Group< T_SCALAR_TYPE > &g) const |
|
Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > | operator* (const Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > &vec) const |
|
Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > | v () const |
|
void | v (const Eigen::AngleAxis< T_SCALAR_TYPE > &aa) |
|
void | v (const Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > &vec) |
|
T_SCALAR_TYPE const & | operator[] (size_t index) const |
|
T_SCALAR_TYPE & | operator[] (size_t index) |
|
void | normalize () |
|
Algebra< T_SCALAR_TYPE > | normalized () const |
|
T_SCALAR_TYPE | norm () const |
|
T_SCALAR_TYPE | angle () const |
|
Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > | axis () const |
|
Group< T_SCALAR_TYPE > | exp () const |
|
Eigen::Matrix< T_SCALAR_TYPE, 3, 3 > | partialExp (const unsigned int i) const |
|
Algebra< T_SCALAR_TYPE > | computeDExpRInv (const Algebra< T_SCALAR_TYPE > &y, unsigned int order_p=0) const |
|
Group< T_SCALAR_TYPE > | cay () const |
|
Eigen::Matrix< T_SCALAR_TYPE, 3, 3 > | dCayRInv () const |
|
Algebra< T_SCALAR_TYPE > | dCayRInv (const Algebra< T_SCALAR_TYPE > &g) const |
|
Eigen::AngleAxis< T_SCALAR_TYPE > | toAngleAxis () const |
|
Eigen::Matrix< T_SCALAR_TYPE, 3, 3 > | toRotationMatrix () const |
|
Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > | toVector () const |
|
NOXVector< 3 > | toNOXVector () const |
|
Algebra< T_SCALAR_TYPE > | inverse () const |
|
void | inverted () |
|
void | operator+= (const Algebra< T_SCALAR_TYPE > &g) |
|
Algebra< T_SCALAR_TYPE > | operator+ (const Algebra< T_SCALAR_TYPE > &g) const |
|
Algebra< T_SCALAR_TYPE > | operator- (const Algebra< T_SCALAR_TYPE > &g) const |
|
void | operator*= (T_SCALAR_TYPE s) |
|
Algebra< T_SCALAR_TYPE > | operator* (const T_SCALAR_TYPE &s) const |
|
Algebra< T_SCALAR_TYPE > | bracket (const Algebra< T_SCALAR_TYPE > &g) const |
|
Algebra< T_SCALAR_TYPE > | Ad (const Group< T_SCALAR_TYPE > &g) const |
|
Algebra< T_SCALAR_TYPE > | Ad_star (const Group< T_SCALAR_TYPE > &g) const |
|
T_SCALAR_TYPE | norm () const |
|
Group< T_SCALAR_TYPE > | exp () const |
|
NOXVector< T_DOF > | toNOXVector () const |
|
Algebra< T_SCALAR_TYPE > & | underlying () |
|
Algebra< T_SCALAR_TYPE > const & | underlying () const |
|
|
static Algebra< T_SCALAR_TYPE > | Identity () |
|
static Algebra< T_SCALAR_TYPE > | cay_inv (const Group< T_SCALAR_TYPE > &g) |
|
static Algebra< T_SCALAR_TYPE > | fromRotationMatrix (const Eigen::Matrix< T_SCALAR_TYPE, 3, 3 > &m) |
|
static Eigen::Matrix< T_SCALAR_TYPE, 3, 3 > | GeneratorMatrix (int const i) |
|
static Eigen::Matrix< T_SCALAR_TYPE, 3, 1 > | GeneratorVector (int const i) |
|
static Algebra< T_SCALAR_TYPE > | Generator (int const i) |
|
static Algebra< T_SCALAR_TYPE > | Zero () |
|
static Algebra< T_SCALAR_TYPE > | Zero () |
|
static Algebra< T_SCALAR_TYPE > | static_bracket (const Algebra< T_SCALAR_TYPE > &g1, const Algebra< T_SCALAR_TYPE > &g2) |
|
static Algebra< T_SCALAR_TYPE > | static_Ad (const Algebra< T_SCALAR_TYPE > &a, const Group< T_SCALAR_TYPE > &g) |
|
static Algebra< T_SCALAR_TYPE > | static_Ad_star (const Group< T_SCALAR_TYPE > &g, const Algebra< T_SCALAR_TYPE > &a) |
|
static Group< T_SCALAR_TYPE > | exp (const Algebra< T_SCALAR_TYPE > &g) |
|
static const unsigned int | dof () |
|
template<typename T_SCALAR_TYPE>
class SO3::Algebra< T_SCALAR_TYPE >
Class Lie algebra \(\mathfrak{so}(3)\) implementation.
- Template Parameters
-
T | Floating point type used for internal representation of coefficients. |
template<typename T_SCALAR_TYPE>
static Eigen::Matrix<T_SCALAR_TYPE,3,3> SO3::Algebra< T_SCALAR_TYPE >::GeneratorMatrix |
( |
int const |
i | ) |
|
|
inlinestatic |
Implements the three generators of the skew matrix representation of \(\mathfrak{so}(3)\). Those generators are repsectively
\[ \widehat J_0=\begin{pmatrix}0&0&0\\0&0&-1\\0&1&0\end{pmatrix},\quad \widehat J_1=\begin{pmatrix}0&0&1\\0&0&0\\-1&0&0\end{pmatrix},\quad \widehat J_2=\begin{pmatrix}0&-1&0\\1&0&0\\0&0&0\end{pmatrix} \]
and define the isomorphism between 3 by 3 skew matrices and size 3 vectors
\[ \widehat\omega = \omega\cdot\left(\widehat J_0,\widehat J_1,\widehat J_2\right)^T. \]
- Returns
- the
i
-th generator matrix.