28#include <gtsam/dllexport.h>
44Matrix4
SO4::Hat(
const TangentVector &xi);
60SO4::VectorN2
SO4::vec(OptionalJacobian<16, 6> H)
const;
68Vector6 SO4::ChartAtOrigin::Local(
const SO4 &Q, ChartJacobian H);
73GTSAM_EXPORT Matrix3
topLeft(
const SO4 &Q, OptionalJacobian<9, 6> H = boost::none);
79GTSAM_EXPORT Matrix43
stiefel(
const SO4 &Q, OptionalJacobian<12, 6> H = boost::none);
82template <
class Archive>
84 Matrix4 &M = Q.matrix_;
85 ar &boost::serialization::make_nvp(
"Q11", M(0, 0));
86 ar &boost::serialization::make_nvp(
"Q12", M(0, 1));
87 ar &boost::serialization::make_nvp(
"Q13", M(0, 2));
88 ar &boost::serialization::make_nvp(
"Q14", M(0, 3));
90 ar &boost::serialization::make_nvp(
"Q21", M(1, 0));
91 ar &boost::serialization::make_nvp(
"Q22", M(1, 1));
92 ar &boost::serialization::make_nvp(
"Q23", M(1, 2));
93 ar &boost::serialization::make_nvp(
"Q24", M(1, 3));
95 ar &boost::serialization::make_nvp(
"Q31", M(2, 0));
96 ar &boost::serialization::make_nvp(
"Q32", M(2, 1));
97 ar &boost::serialization::make_nvp(
"Q33", M(2, 2));
98 ar &boost::serialization::make_nvp(
"Q34", M(2, 3));
100 ar &boost::serialization::make_nvp(
"Q41", M(3, 0));
101 ar &boost::serialization::make_nvp(
"Q42", M(3, 1));
102 ar &boost::serialization::make_nvp(
"Q43", M(3, 2));
103 ar &boost::serialization::make_nvp(
"Q44", M(3, 3));
Concept check class for variable types with Group properties.
Base class and basic functions for Lie types.
Base class and basic functions for Manifold types.
typedef and functions to augment Eigen's MatrixXd
N*N matrix representation of SO(N).
Global functions in a separate testing namespace.
Definition chartTesting.h:28
std::string serialize(const T &input)
serializes to a string
Definition serialization.h:113
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:220
GTSAM_EXPORT Matrix3 topLeft(const SO4 &Q, OptionalJacobian< 9, 6 > H)
Project to top-left 3*3 matrix.
Definition SO4.cpp:206
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition concepts.h:30
static SO< N > Retract(const TangentVector &v)
Retract at origin: possible in Lie group because it has an identity.
Definition Lie.h:111
Both LieGroupTraits and Testable.
Definition Lie.h:229
Manifold of special orthogonal rotation matrices SO<N>.
Definition SOn.h:52
static SO Expmap(const TangentVector &omega, ChartJacobian H=boost::none)
Exponential map at identity - create a rotation from canonical coordinates.
Definition SOn-inl.h:67
VectorN2 vec(OptionalJacobian< internal::NSquaredSO(N), dimension > H=boost::none) const
Return vectorized rotation matrix in column order.
Definition SOn-inl.h:88
static TangentVector Vee(const MatrixNN &X)
Inverse of Hat. See note about xi element order in Hat.
Definition SOn-inl.h:35
MatrixDD AdjointMap() const
Adjoint map.
Definition SO4.cpp:159
static MatrixNN Hat(const TangentVector &xi)
Hat operator creates Lie algebra element corresponding to d-vector, where d is the dimensionality of ...
Definition SOn-inl.h:29