gtsam 4.1.1
gtsam
Expression.h File Reference

Expressions for Block Automatic Differentiation. More...

Go to the source code of this file.

Classes

class  gtsam::Expression< T >
 Expression class that supports automatic differentiation. More...
 
struct  gtsam::Expression< T >::UnaryFunction< A1 >
 
struct  gtsam::Expression< T >::BinaryFunction< A1, A2 >
 
struct  gtsam::Expression< T >::TernaryFunction< A1, A2, A3 >
 
class  gtsam::ScalarMultiplyExpression< T >
 A ScalarMultiplyExpression is a specialization of Expression that multiplies with a scalar It optimizes the Jacobian calculation for this specific case. More...
 
class  gtsam::BinarySumExpression< T >
 A BinarySumExpression is a specialization of Expression that adds two expressions together It optimizes the Jacobian calculation for this specific case. More...
 

Namespaces

namespace  gtsam
 Global functions in a separate testing namespace.
 

Functions

template<typename T , typename A >
Expression< T > gtsam::linearExpression (const std::function< T(A)> &f, const Expression< A > &expression, const Eigen::Matrix< double, traits< T >::dimension, traits< A >::dimension > &dTdA)
 Create an expression out of a linear function f:T->A with (constant) Jacobian dTdA TODO(frank): create a more efficient version like ScalarMultiplyExpression. More...
 
template<typename T >
ScalarMultiplyExpression< T > gtsam::operator* (double s, const Expression< T > &e)
 Construct an expression that executes the scalar multiplication with an input expression The type T must be a vector space Example: Expression<Point2> a(0), b = 12 * a;.
 
template<typename T >
BinarySumExpression< T > gtsam::operator+ (const Expression< T > &e1, const Expression< T > &e2)
 Construct an expression that sums two input expressions of the same type T The type T must be a vector space Example: Expression<Point2> a(0), b(1), c = a + b;.
 
template<typename T >
BinarySumExpression< T > gtsam::operator- (const Expression< T > &e1, const Expression< T > &e2)
 Construct an expression that subtracts one expression from another.
 
template<typename T >
Expression< T > gtsam::operator* (const Expression< T > &expression1, const Expression< T > &expression2)
 Construct a product expression, assumes T::compose(T) -> T. More...
 
template<typename T >
std::vector< Expression< T > > gtsam::createUnknowns (size_t n, char c, size_t start)
 Construct an array of leaves. More...
 

Detailed Description

Expressions for Block Automatic Differentiation.

Date
September 18, 2014
Author
Frank Dellaert
Paul Furgale