13#include <gtsam/config.h>
14#include <gtsam/dllexport.h>
16#if GTSAM_ENABLE_BOOST_SERIALIZATION
24using Matrix15x15 = Eigen::Matrix<double, 15, 15>;
25using Matrix16x16 = Eigen::Matrix<double, 16, 16>;
33 static const size_t dimension = 15;
46 SL4(
const Matrix44& pose);
48 SL4(
const SL4& pose) =
default;
50 SL4& operator=(
const SL4& pose) =
default;
53 void print(
const std::string& s =
"")
const;
56 bool equals(
const SL4& sl4,
double tol = 1e-9)
const;
59 inline const Matrix44&
matrix()
const {
return T_; }
81 Matrix15x15 AdjointMap()
const;
87 static SL4 Expmap(
const Vector& xi);
94 static SL4 Retract(
const Vector15& xi);
95 static Vector15 Local(
const SL4& pose);
104 using LieAlgebra = Matrix44;
124 static Matrix44
Hat(
const Vector& xi);
125 static Vector Vee(
const Matrix44& X);
130#if GTSAM_ENABLE_BOOST_SERIALIZATION
132 friend class boost::serialization::access;
133 template <
class Archive>
134 void serialize(Archive& ar,
const unsigned int ) {
135 ar& BOOST_SERIALIZATION_NVP(T_);
Base class and basic functions for Matrix Lie groups.
typedef and functions to augment Eigen's MatrixXd
Serialization for matrices.
Special class for optional Jacobian arguments.
typedef and functions to augment Eigen's VectorXd
Global functions in a separate testing namespace.
Definition chartTesting.h:28
void print(const Matrix &A, const string &s, ostream &stream)
print without optional string, must specify cout yourself
Definition Matrix.cpp:143
@ Logmap
Use the SE_2(3) NavState Logmap for every backend.
Definition PreintegrationParams.h:32
A manifold defines a space in which there is a notion of a linear tangent space that can be centered ...
Definition Group.h:37
A CRTP helper class that implements Lie group methods Prerequisites: methods operator*,...
Definition Lie.h:114
A CRTP helper class that implements matrix Lie group methods.
Definition MatrixLieGroup.h:51
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
Template to create a binary predicate.
Definition Testable.h:112
static Matrix44 Hat(const Vector &xi)
Lie algebra coordinates for sl(4) using an orthonormal basis.
Definition SL4.cpp:211
SL4 operator*(const SL4 &other) const
Group operation.
Definition SL4.h:72
const Matrix44 & matrix() const
convert to 4*4 matrix
Definition SL4.h:59
static SL4 Identity()
identity for group operation
Definition SL4.h:66
SL4()
Default constructor initializes at origin.
Definition SL4.h:43
SL4 inverse() const
inverse transformation
Definition SL4.h:69