From ec1b57ed08f4c2753dfe1f5cb31f8fd8c49784ed Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sun, 10 Jan 2010 12:22:59 +0000 Subject: [PATCH] Added Lie required functions (trivial) for Vector. Not in Vector.h as this becomes circular. --- cpp/Lie.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/cpp/Lie.h b/cpp/Lie.h index 965bcf7dc..28fb8cec9 100644 --- a/cpp/Lie.h +++ b/cpp/Lie.h @@ -78,6 +78,17 @@ namespace gtsam { return obj1.equal(obj2); } + // Vector Group operations + inline Vector compose(const Vector& p1,const Vector& p2) { return p1+p2;} + inline Vector inverse(const Vector& p) { return -p;} + inline Vector between(const Vector& p1,const Vector& p2) { return p2-p1;} + + // Vector is a trivial Lie Group + template<> inline Vector expmap(const Vector& d) { return d;} + template<> inline Vector expmap(const Vector& p,const Vector& d) { return p+d;} + inline Vector logmap(const Vector& p) { return p;} + inline Vector logmap(const Vector& p1,const Vector& p2) { return p2-p1;} + }