gtsam
Loading...
Searching...
No Matches
GroupAction.h File Reference

Group action concept and CRTP base class. More...

Go to the source code of this file.

Classes

struct  gtsam::group_action::Orbit< Action >
 Orbit: The map g -> m, defined by fixing m0. More...
struct  gtsam::group_action::Diffeomorphism< Action >
 Diffeomorphism: The map m -> m, defined by fixing g0. More...
struct  gtsam::group_action::InducedVectorField< Action, VectorField >
 Induced action on vector fields via push-forward. More...
struct  gtsam::GroupAction< Derived, G, M >
 GroupAction CRTP base class. More...
struct  gtsam::GroupAction< Derived, G, M >::InducedVectorField< VectorField >

Namespaces

namespace  gtsam
 Global functions in a separate testing namespace.

Macros

#define EXPECT_RIGHT_ACTION(phi, m, g1, g2)
#define EXPECT_LEFT_ACTION(phi, g1, g2, m)

Enumerations

enum class  gtsam::ActionType { Left , Right }
 Enum to specify whether the action is a Left or Right action.

Functions

template<class Action, class M_, class G_>
bool gtsam::rightActionEqual (const Action &phi, const M_ &m, const G_ &g1, const G_ &g2)
 Check right action property: φ(m, g1 g2) = φ(φ(m, g1), g2).
template<class Action, class G_, class M_>
bool gtsam::leftActionEqual (const Action &phi, const G_ &g1, const G_ &g2, const M_ &m)
 Check left action property: φ(g1 g2, m) = φ(g1, φ(g2, m)).

Detailed Description

Group action concept and CRTP base class.

Author
Frank Dellaert

Macro Definition Documentation

◆ EXPECT_LEFT_ACTION

#define EXPECT_LEFT_ACTION ( phi,
g1,
g2,
m )
Value:
do { \
EXPECT(::gtsam::leftActionEqual((phi), (g1), (g2), (m))); \
} while (0)
bool leftActionEqual(const Action &phi, const G_ &g1, const G_ &g2, const M_ &m)
Check left action property: φ(g1 g2, m) = φ(g1, φ(g2, m)).
Definition GroupAction.h:283

◆ EXPECT_RIGHT_ACTION

#define EXPECT_RIGHT_ACTION ( phi,
m,
g1,
g2 )
Value:
do { \
EXPECT(::gtsam::rightActionEqual((phi), (m), (g1), (g2))); \
} while (0)
bool rightActionEqual(const Action &phi, const M_ &m, const G_ &g1, const G_ &g2)
Check right action property: φ(m, g1 g2) = φ(φ(m, g1), g2).
Definition GroupAction.h:274