Utility structure used for product differentiation. More...
#include <roboptim/core/operator/product.hxx>
Classes | |
struct | Types |
Some useful types for product differentiation. More... | |
Static Public Member Functions | |
template<typename U , typename V > | |
static void | gradient (typename Types< U, V >::gradient_ref grad_uv, const typename Types< U, V >::rowVectorU_ref u, const typename Types< U, V >::rowVectorV_ref v, const typename Types< U, V >::gradientU_ref grad_u, const typename Types< U, V >::gradientV_ref grad_v, typename boost::enable_if< typename Types< U, V >::fullDense_t >::type *=0) |
Full dense version of gradient computation. More... | |
template<typename U , typename V > | |
static void | gradient (typename Types< U, V >::gradient_ref grad_uv, const typename Types< U, V >::rowVectorU_ref u, const typename Types< U, V >::rowVectorV_ref v, const typename Types< U, V >::gradientU_ref grad_u, const typename Types< U, V >::gradientV_ref grad_v, typename boost::disable_if< typename Types< U, V >::fullDense_t >::type *=0) |
Dense/sparse version of gradient computation. More... | |
template<typename U , typename V > | |
static void | jacobian (typename Types< U, V >::jacobian_ref jac_uv, const typename Types< U, V >::vectorU_ref u, const typename Types< U, V >::vectorV_ref v, const typename Types< U, V >::jacobianU_ref jac_u, const typename Types< U, V >::jacobianV_ref jac_v, typename boost::enable_if< typename Types< U, V >::fullDense_t >::type *=0) |
Full dense version of Jacobian computation. More... | |
template<typename U , typename V > | |
static void | jacobian (typename Types< U, V >::jacobian_ref jac_uv, const typename Types< U, V >::vectorU_ref u, const typename Types< U, V >::vectorV_ref v, const typename Types< U, V >::jacobianU_ref jac_u, const typename Types< U, V >::jacobianV_ref jac_v, typename boost::disable_if< typename Types< U, V >::fullDense_t >::type *=0) |
Dense/sparse version of Jacobian computation. More... | |
Utility structure used for product differentiation.
|
inlinestatic |
Full dense version of gradient computation.
|
inlinestatic |
Dense/sparse version of gradient computation.
dense.cwiseProduct (sparse) or sparse.cwiseProduct (dense) are apparently not available in Eigen.
|
inlinestatic |
Full dense version of Jacobian computation.
|
inlinestatic |
Dense/sparse version of Jacobian computation.
dense.cwiseProduct (sparse) or sparse.cwiseProduct (dense) are apparently not available in Eigen.
ROBOPTIM_DO_NOT_CHECK_ALLOCATION
ROBOPTIM_DO_NOT_CHECK_ALLOCATION
References roboptim::is_malloc_allowed(), and roboptim::set_is_malloc_allowed().