|
| AutoDiffScalar () |
|
| AutoDiffScalar (const Scalar &value, int nbDer, int derNumber) |
|
| AutoDiffScalar (const Real &value) |
|
| AutoDiffScalar (const Scalar &value, const DerType &der) |
|
template<typename OtherDerType > |
| AutoDiffScalar (const AutoDiffScalar< OtherDerType > &other, typename internal::enable_if< internal::is_same< Scalar, typename internal::traits< typename internal::remove_all< OtherDerType >::type >::Scalar >::value &&internal::is_convertible< OtherDerType, DerType >::value, void * >::type=0) |
|
| AutoDiffScalar (const AutoDiffScalar &other) |
|
const DerType & | derivatives () const |
|
DerType & | derivatives () |
|
bool | operator!= (const Scalar &other) const |
|
template<typename OtherDerType > |
bool | operator!= (const AutoDiffScalar< OtherDerType > &b) const |
|
const AutoDiffScalar< EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DerType, Scalar, product) > | operator* (const Scalar &other) const |
|
template<typename OtherDerType > |
const AutoDiffScalar< CwiseBinaryOp< internal::scalar_sum_op< Scalar >, const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DerType, Scalar, product), const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(typename internal::remove_all< OtherDerType >::type, Scalar, product) > > | operator* (const AutoDiffScalar< OtherDerType > &other) const |
|
AutoDiffScalar & | operator*= (const Scalar &other) |
|
template<typename OtherDerType > |
AutoDiffScalar & | operator*= (const AutoDiffScalar< OtherDerType > &other) |
|
const AutoDiffScalar< DerType & > | operator+ (const Scalar &other) const |
|
template<typename OtherDerType > |
const AutoDiffScalar< CwiseBinaryOp< internal::scalar_sum_op< Scalar >, const DerType, const typename internal::remove_all< OtherDerType >::type > > | operator+ (const AutoDiffScalar< OtherDerType > &other) const |
|
AutoDiffScalar & | operator+= (const Scalar &other) |
|
template<typename OtherDerType > |
AutoDiffScalar & | operator+= (const AutoDiffScalar< OtherDerType > &other) |
|
const AutoDiffScalar< DerType & > | operator- (const Scalar &b) const |
|
template<typename OtherDerType > |
const AutoDiffScalar< CwiseBinaryOp< internal::scalar_difference_op< Scalar >, const DerType, const typename internal::remove_all< OtherDerType >::type > > | operator- (const AutoDiffScalar< OtherDerType > &other) const |
|
const AutoDiffScalar< CwiseUnaryOp< internal::scalar_opposite_op< Scalar >, const DerType > > | operator- () const |
|
AutoDiffScalar & | operator-= (const Scalar &other) |
|
template<typename OtherDerType > |
AutoDiffScalar & | operator-= (const AutoDiffScalar< OtherDerType > &other) |
|
const AutoDiffScalar< EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DerType, Scalar, product) > | operator/ (const Scalar &other) const |
|
template<typename OtherDerType > |
const AutoDiffScalar< EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(CwiseBinaryOp< internal::scalar_difference_op< Scalar > EIGEN_COMMA const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DerType, Scalar, product) EIGEN_COMMA const EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(typename internal::remove_all< OtherDerType >::type, Scalar, product) >, Scalar, product) > | operator/ (const AutoDiffScalar< OtherDerType > &other) const |
|
AutoDiffScalar & | operator/= (const Scalar &other) |
|
template<typename OtherDerType > |
AutoDiffScalar & | operator/= (const AutoDiffScalar< OtherDerType > &other) |
|
bool | operator< (const Scalar &other) const |
|
template<typename OtherDerType > |
bool | operator< (const AutoDiffScalar< OtherDerType > &b) const |
|
bool | operator<= (const Scalar &other) const |
|
template<typename OtherDerType > |
bool | operator<= (const AutoDiffScalar< OtherDerType > &b) const |
|
template<typename OtherDerType > |
AutoDiffScalar & | operator= (const AutoDiffScalar< OtherDerType > &other) |
|
AutoDiffScalar & | operator= (const AutoDiffScalar &other) |
|
AutoDiffScalar & | operator= (const Scalar &other) |
|
bool | operator== (const Scalar &other) const |
|
template<typename OtherDerType > |
bool | operator== (const AutoDiffScalar< OtherDerType > &b) const |
|
bool | operator> (const Scalar &other) const |
|
template<typename OtherDerType > |
bool | operator> (const AutoDiffScalar< OtherDerType > &b) const |
|
bool | operator>= (const Scalar &other) const |
|
template<typename OtherDerType > |
bool | operator>= (const AutoDiffScalar< OtherDerType > &b) const |
|
const Scalar & | value () const |
|
Scalar & | value () |
|
|
bool | operator!= (const Scalar &a, const AutoDiffScalar &b) |
|
const AutoDiffScalar< EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DerType, Scalar, product) > | operator* (const Scalar &other, const AutoDiffScalar &a) |
|
const AutoDiffScalar< DerType & > | operator+ (const Scalar &a, const AutoDiffScalar &b) |
|
const AutoDiffScalar< CwiseUnaryOp< internal::scalar_opposite_op< Scalar >, const DerType > > | operator- (const Scalar &a, const AutoDiffScalar &b) |
|
const AutoDiffScalar< EIGEN_EXPR_BINARYOP_SCALAR_RETURN_TYPE(DerType, Scalar, product) > | operator/ (const Scalar &other, const AutoDiffScalar &a) |
|
bool | operator< (const Scalar &a, const AutoDiffScalar &b) |
|
std::ostream & | operator<< (std::ostream &s, const AutoDiffScalar &a) |
|
bool | operator<= (const Scalar &a, const AutoDiffScalar &b) |
|
bool | operator== (const Scalar &a, const AutoDiffScalar &b) |
|
bool | operator> (const Scalar &a, const AutoDiffScalar &b) |
|
bool | operator>= (const Scalar &a, const AutoDiffScalar &b) |
|
template<typename _DerType>
class Eigen::AutoDiffScalar< _DerType >
A scalar type replacement with automatic differentation capability.
- Parameters
-
_DerType | the vector type used to store/represent the derivatives. The base scalar type as well as the number of derivatives to compute are determined from this type. Typical choices include, e.g., Vector4f for 4 derivatives, or VectorXf if the number of derivatives is not known at compile time, and/or, the number of derivatives is large. Note that _DerType can also be a reference (e.g., VectorXf& ) to wrap a existing vector into an AutoDiffScalar. Finally, _DerType can also be any Eigen compatible expression. |
This class represents a scalar value while tracking its respective derivatives using Eigen's expression template mechanism.
It supports the following list of global math function:
- std::abs, std::sqrt, std::pow, std::exp, std::log, std::sin, std::cos,
- internal::abs, internal::sqrt, numext::pow, internal::exp, internal::log, internal::sin, internal::cos,
- internal::conj, internal::real, internal::imag, numext::abs2.
AutoDiffScalar can be used as the scalar type of an Eigen::Matrix object. However, in that case, the expression template mechanism only occurs at the top Matrix level, while derivatives are computed right away.
Definition at line 33 of file AutoDiffScalar.h.