From 20a75db5b51f38a9b4c1b1575ae88d3bb70968f5 Mon Sep 17 00:00:00 2001 From: Frank Dellaert Date: Sat, 13 Feb 2016 18:58:03 +0000 Subject: [PATCH] GTSAM-Concepts.md edited online with Bitbucket --- GTSAM-Concepts.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GTSAM-Concepts.md b/GTSAM-Concepts.md index 3c10451be..5c7434a8d 100644 --- a/GTSAM-Concepts.md +++ b/GTSAM-Concepts.md @@ -19,10 +19,10 @@ To optimize over continuous types, we assume they are manifolds. This is central [Manifolds](http://en.wikipedia.org/wiki/Manifold#Charts.2C_atlases.2C_and_transition_maps) and [charts](http://en.wikipedia.org/wiki/Manifold#Charts.2C_atlases.2C_and_transition_maps) are intimately linked concepts. We are only interested here in [differentiable manifolds](http://en.wikipedia.org/wiki/Differentiable_manifold#Definition), continuous spaces that can be locally approximated *at any point* using a local vector space, called the [tangent space](http://en.wikipedia.org/wiki/Tangent_space). A *chart* is an invertible map from the manifold to that tangent space. In GTSAM, all properties and operations needed to use a type must be defined through template specialization of the struct `gtsam::traits`. Concept checks are used to check that all required functions are implemented. -In detail, we ask the following are defined in the traits object: +In detail, we ask the following are defined in the traits object (although, not all are needed for optimization): * values: - * `enum { dimension = D};`, an enum that indicates the dimensionality *n* of the manifold. In Eigen-fashion, we also support manifolds whose dimenionality is only defined at runtime, by specifying the value -1. + * `enum { dimension = D};`, an enum that indicates the dimensionality *n* of the manifold. In Eigen-fashion, we also support manifolds whose dimensionality is only defined at runtime, by specifying the value -1. * types: * `TangentVector`, type that lives in tangent space. This will almost always be an `Eigen::Matrix`. * `ChartJacobian`, a typedef for `OptionalJacobian`. @@ -33,7 +33,7 @@ In detail, we ask the following are defined in the traits object: * `gtsam::traits::lie_group_tag` -- Everything in this list is expected, plus the functions defined under **Groups**, and **Lie Groups** below. * `gtsam::traits::vector_space_tag` -- Everything in this list is expected, plus the functions defined under **Groups**, and **Lie Groups** below. * valid expressions: - * `size_t dim = traits::getDimension(p);` static function should be defined. This is mostly useful if the size is not known at compile time. + * `size_t dim = traits::GetDimension(p);` static function should be defined. This is mostly useful if the size is not known at compile time. * `v = traits::Local(p,q)`, the chart, from manifold to tangent space, think of it as *q (-) p*, where *p* and *q* are elements of the manifold and the result, *v* is an element of the vector space. * `p = traits::Retract(p,v)`, the inverse chart, from tangent space to manifold, think of it as *p (+) v*, where *p* is an element of the manifold and the result, *v* is an element of the vector space. * invariants