28#include <gtsam/dllexport.h>
44Matrix4
SO4::Hat(
const TangentVector &xi);
64Vector6 SO4::ChartAtOrigin::Local(
const SO4 &Q);
77#if GTSAM_ENABLE_BOOST_SERIALIZATION
78template <
class Archive>
80void serialize(Archive &ar, SO4 &Q,
const unsigned int ) {
81 Matrix4 &M = Q.matrix_;
82 ar &boost::serialization::make_nvp(
"Q11", M(0, 0));
83 ar &boost::serialization::make_nvp(
"Q12", M(0, 1));
84 ar &boost::serialization::make_nvp(
"Q13", M(0, 2));
85 ar &boost::serialization::make_nvp(
"Q14", M(0, 3));
87 ar &boost::serialization::make_nvp(
"Q21", M(1, 0));
88 ar &boost::serialization::make_nvp(
"Q22", M(1, 1));
89 ar &boost::serialization::make_nvp(
"Q23", M(1, 2));
90 ar &boost::serialization::make_nvp(
"Q24", M(1, 3));
92 ar &boost::serialization::make_nvp(
"Q31", M(2, 0));
93 ar &boost::serialization::make_nvp(
"Q32", M(2, 1));
94 ar &boost::serialization::make_nvp(
"Q33", M(2, 2));
95 ar &boost::serialization::make_nvp(
"Q34", M(2, 3));
97 ar &boost::serialization::make_nvp(
"Q41", M(3, 0));
98 ar &boost::serialization::make_nvp(
"Q42", M(3, 1));
99 ar &boost::serialization::make_nvp(
"Q43", M(3, 2));
100 ar &boost::serialization::make_nvp(
"Q44", M(3, 3));
typedef and functions to augment Eigen's MatrixXd
Concept check class for variable types with Group properties.
Base class and basic functions for Manifold types.
Base class and basic functions for Lie types.
N*N matrix representation of SO(N).
Global functions in a separate testing namespace.
Definition chartTesting.h:28
GTSAM_EXPORT Matrix43 stiefel(const SO4 &Q, OptionalJacobian< 12, 6 > H)
Project to Stiefel manifold of 4*3 orthonormal 3-frames in R^4, i.e., pi(Q) -> .
Definition SO4.cpp:198
GTSAM_EXPORT Matrix3 topLeft(const SO4 &Q, OptionalJacobian< 9, 6 > H)
Project to top-left 3*3 matrix.
Definition SO4.cpp:184
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition Group.h:37
static SO< N > Retract(const TangentVector &v)
Definition Lie.h:193
Both LieGroupTraits and Testable.
Definition MatrixLieGroup.h:350
OptionalJacobian is an Eigen::Ref like class that can take be constructed using either a fixed size o...
Definition OptionalJacobian.h:40
Manifold of special orthogonal rotation matrices SO<N>.
Definition SOn.h:55
static TangentVector Vee(const MatrixNN &X)
VectorN2 vec(OptionalJacobian< internal::NSquaredSO(N), dimension > H={}) const
Definition SOn.h:306
static SO Expmap(const TangentVector &omega)
static MatrixNN Hat(const TangentVector &xi)