gtsam 4.2
gtsam
Loading...
Searching...
No Matches
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.
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.
template<typename T>
std::vector< Expression< T > > gtsam::createUnknowns (size_t n, char c, size_t start)
 Construct an array of leaves.

Detailed Description

Expressions for Block Automatic Differentiation.

Date
September 18, 2014
Author
Frank Dellaert
Paul Furgale