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