Adding adjoint and adjoint transpose functions
parent
302978a93d
commit
eada1ee505
|
@ -132,6 +132,8 @@ public:
|
||||||
* Ad_pose is 3*3 matrix that when applied to twist xi \f$ [T_x,T_y,\theta] \f$, returns Ad_pose(xi)
|
* Ad_pose is 3*3 matrix that when applied to twist xi \f$ [T_x,T_y,\theta] \f$, returns Ad_pose(xi)
|
||||||
*/
|
*/
|
||||||
Matrix3 AdjointMap() const;
|
Matrix3 AdjointMap() const;
|
||||||
|
|
||||||
|
/// Apply AdjointMap to twist xi
|
||||||
inline Vector3 Adjoint(const Vector3& xi) const {
|
inline Vector3 Adjoint(const Vector3& xi) const {
|
||||||
return AdjointMap()*xi;
|
return AdjointMap()*xi;
|
||||||
}
|
}
|
||||||
|
@ -141,6 +143,20 @@ public:
|
||||||
*/
|
*/
|
||||||
static Matrix3 adjointMap(const Vector3& v);
|
static Matrix3 adjointMap(const Vector3& v);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Action of the adjointMap on a Lie-algebra vector y, with optional derivatives
|
||||||
|
*/
|
||||||
|
Vector3 adjoint(const Vector3& xi, const Vector3& y) {
|
||||||
|
return adjointMap(xi) * y;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The dual version of adjoint action, acting on the dual space of the Lie-algebra vector space.
|
||||||
|
*/
|
||||||
|
Vector3 adjointTranspose(const Vector3& xi, const Vector3& y) {
|
||||||
|
return adjointMap(xi).transpose() * y;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* wedge for SE(2):
|
* wedge for SE(2):
|
||||||
* @param xi 3-dim twist (v,omega) where
|
* @param xi 3-dim twist (v,omega) where
|
||||||
|
|
Loading…
Reference in New Issue