template<typename T>
class gtsam::Expression< T >
Expression class that supports automatic differentiation.
|
| Expression (const T &value) |
| Construct a constant expression.
|
|
| Expression (const Key &key) |
| Construct a leaf expression, with Key.
|
|
| Expression (const Symbol &symbol) |
| Construct a leaf expression, with Symbol.
|
|
| Expression (unsigned char c, std::uint64_t j) |
| Construct a leaf expression, creating Symbol.
|
|
template<typename A > |
| Expression (typename UnaryFunction< A >::type function, const Expression< A > &expression) |
| Construct a unary function expression.
|
|
template<typename A1 , typename A2 > |
| Expression (typename BinaryFunction< A1, A2 >::type function, const Expression< A1 > &expression1, const Expression< A2 > &expression2) |
| Construct a binary function expression.
|
|
template<typename A1 , typename A2 , typename A3 > |
| Expression (typename TernaryFunction< A1, A2, A3 >::type function, const Expression< A1 > &expression1, const Expression< A2 > &expression2, const Expression< A3 > &expression3) |
| Construct a ternary function expression.
|
|
template<typename A > |
| Expression (const Expression< A > &expression, T(A::*method)(typename MakeOptionalJacobian< T, A >::type) const) |
| Construct a nullary method expression.
|
|
template<typename A1 , typename A2 > |
| Expression (const Expression< A1 > &expression1, T(A1::*method)(const A2 &, typename MakeOptionalJacobian< T, A1 >::type, typename MakeOptionalJacobian< T, A2 >::type) const, const Expression< A2 > &expression2) |
| Construct a unary method expression.
|
|
template<typename A1 , typename A2 , typename A3 > |
| Expression (const Expression< A1 > &expression1, T(A1::*method)(const A2 &, const A3 &, typename MakeOptionalJacobian< T, A1 >::type, typename MakeOptionalJacobian< T, A2 >::type, typename MakeOptionalJacobian< T, A3 >::type) const, const Expression< A2 > &expression2, const Expression< A3 > &expression3) |
| Construct a binary method expression.
|
|
virtual | ~Expression () |
| Destructor.
|
|
std::set< Key > | keys () const |
| Return keys that play in this expression.
|
|
void | dims (std::map< Key, int > &map) const |
| Return dimensions for each argument, as a map.
|
|
void | print (const std::string &s) const |
| Print.
|
|
T | value (const Values &values, boost::optional< std::vector< Matrix > & > H=boost::none) const |
| Return value and optional derivatives, reverse AD version Notes: this is not terribly efficient, and H should have correct size. More...
|
|
virtual boost::shared_ptr< Expression > | clone () const |
|
const boost::shared_ptr< internal::ExpressionNode< T > > & | root () const |
| Return root.
|
|
size_t | traceSize () const |
| Return size needed for memory buffer in traceExecution.
|
|
Expression< T > & | operator+= (const Expression< T > &e) |
| Add another expression to this expression.
|
|
|
| Expression (const boost::shared_ptr< internal::ExpressionNode< T > > &root) |
| Construct with a custom root.
|
|
| Expression () |
| Default constructor, for serialization.
|
|
KeysAndDims | keysAndDims () const |
|
T | valueAndDerivatives (const Values &values, const KeyVector &keys, const FastVector< int > &dims, std::vector< Matrix > &H) const |
| private version that takes keys and dimensions, returns derivatives
|
|
T | traceExecution (const Values &values, internal::ExecutionTrace< T > &trace, void *traceStorage) const |
| trace execution, very unsafe
|
|
T | valueAndJacobianMap (const Values &values, internal::JacobianMap &jacobians) const |
| brief Return value and derivatives, reverse AD version
|
|