10 #ifndef EIGEN_AUTODIFF_VECTOR_H 11 #define EIGEN_AUTODIFF_VECTOR_H 32 template<
typename ValueType,
typename JacobianType>
41 typedef typename JacobianType::Index
Index;
71 template<
typename OtherValueType,
typename OtherJacobianType>
80 template<
typename OtherValueType,
typename OtherJacobianType>
101 template<
typename OtherValueType,
typename OtherJacobianType>
103 typename MakeCwiseBinaryOp<internal::scalar_sum_op<BaseScalar>,ValueType,OtherValueType>
::Type,
104 typename MakeCwiseBinaryOp<internal::scalar_sum_op<BaseScalar>,JacobianType,OtherJacobianType>::Type >
108 typename MakeCwiseBinaryOp<internal::scalar_sum_op<BaseScalar>,ValueType,OtherValueType>
::Type,
109 typename MakeCwiseBinaryOp<internal::scalar_sum_op<BaseScalar>,JacobianType,OtherJacobianType>::Type >(
114 template<
typename OtherValueType,
typename OtherJacobianType>
123 template<
typename OtherValueType,
typename OtherJacobianType>
125 typename MakeCwiseBinaryOp<internal::scalar_difference_op<Scalar>,ValueType,OtherValueType>
::Type,
126 typename MakeCwiseBinaryOp<internal::scalar_difference_op<Scalar>,JacobianType,OtherJacobianType>::Type >
130 typename MakeCwiseBinaryOp<internal::scalar_difference_op<Scalar>,ValueType,OtherValueType>
::Type,
131 typename MakeCwiseBinaryOp<internal::scalar_difference_op<Scalar>,JacobianType,OtherJacobianType>::Type >(
136 template<
typename OtherValueType,
typename OtherJacobianType>
146 typename MakeCwiseUnaryOp<internal::scalar_opposite_op<Scalar>, ValueType>
::Type,
147 typename MakeCwiseUnaryOp<internal::scalar_opposite_op<Scalar>, JacobianType>::Type >
151 typename MakeCwiseUnaryOp<internal::scalar_opposite_op<Scalar>, ValueType>
::Type,
152 typename MakeCwiseUnaryOp<internal::scalar_opposite_op<Scalar>, JacobianType>::Type >(
158 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, ValueType>
::Type,
159 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, JacobianType>::Type>
163 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, ValueType>
::Type,
164 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, JacobianType>::Type >(
170 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, ValueType>
::Type,
171 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, JacobianType>::Type >
175 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, ValueType>
::Type,
176 typename MakeCwiseUnaryOp<internal::scalar_multiple_op<Scalar>, JacobianType>::Type >(
205 template<
typename OtherValueType,
typename OtherJacobianType>
208 *
this = *
this * other;
220 #endif // EIGEN_AUTODIFF_VECTOR_H AutoDiffVector & operator+=(const AutoDiffVector< OtherValueType, OtherJacobianType > &other)
AutoDiffVector(const ValueType &values)
const AutoDiffVector< typename MakeCwiseUnaryOp< internal::scalar_multiple_op< Scalar >, ValueType >::Type, typename MakeCwiseUnaryOp< internal::scalar_multiple_op< Scalar >, JacobianType >::Type > operator*(const BaseScalar &other) const
AutoDiffVector & operator=(const AutoDiffVector< OtherValueType, OtherJacobianType > &other)
AutoDiffVector(const ValueType &values, const JacobianType &jac)
A scalar type replacement with automatic differentation capability.
const JacobianType & jacobian() const
AutoDiffVector(const AutoDiffVector< OtherValueType, OtherJacobianType > &other)
iterative scaling algorithm to equilibrate rows and column norms in matrices
AutoDiffScalar< Matrix< BaseScalar, JacobianType::RowsAtCompileTime, 1 > > ActiveScalar
AutoDiffVector & operator=(const AutoDiffVector &other)
const ValueType & values() const
JacobianType & jacobian()
CoeffType operator[](Index i)
AutoDiffVector & operator*=(const Scalar &other)
JacobianType::Index Index
internal::traits< ValueType >::Scalar BaseScalar
const AutoDiffVector< typename MakeCwiseBinaryOp< internal::scalar_sum_op< BaseScalar >, ValueType, OtherValueType >::Type, typename MakeCwiseBinaryOp< internal::scalar_sum_op< BaseScalar >, JacobianType, OtherJacobianType >::Type > operator+(const AutoDiffVector< OtherValueType, OtherJacobianType > &other) const
AutoDiffScalar< typename JacobianType::ColXpr > CoeffType
AutoDiffVector(const AutoDiffVector &other)
AutoDiffVector & operator-=(const AutoDiffVector< OtherValueType, OtherJacobianType > &other)
const AutoDiffVector< typename MakeCwiseUnaryOp< internal::scalar_opposite_op< Scalar >, ValueType >::Type, typename MakeCwiseUnaryOp< internal::scalar_opposite_op< Scalar >, JacobianType >::Type > operator-() const
AutoDiffVector & operator*=(const AutoDiffVector< OtherValueType, OtherJacobianType > &other)
const AutoDiffVector< typename MakeCwiseBinaryOp< internal::scalar_difference_op< Scalar >, ValueType, OtherValueType >::Type, typename MakeCwiseBinaryOp< internal::scalar_difference_op< Scalar >, JacobianType, OtherJacobianType >::Type > operator-(const AutoDiffVector< OtherValueType, OtherJacobianType > &other) const
const CoeffType coeffRef(Index i) const
friend const AutoDiffVector< typename MakeCwiseUnaryOp< internal::scalar_multiple_op< Scalar >, ValueType >::Type, typename MakeCwiseUnaryOp< internal::scalar_multiple_op< Scalar >, JacobianType >::Type > operator*(const Scalar &other, const AutoDiffVector &v)
CoeffType operator()(Index i)
CoeffType coeffRef(Index i)