Utility structure used for product differentiation. More...
#include <roboptim/core/filter/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 >::vectorU_ref u, const typename Types< U, V >::vectorV_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. | |
template<typename U , typename V > | |
static void | gradient (typename Types< U, V >::gradient_ref grad_uv, const typename Types< U, V >::vectorU_ref u, const typename Types< U, V >::vectorV_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. | |
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. | |
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. |
Utility structure used for product differentiation.
static void roboptim::detail::ProductDifferentiation::gradient | ( | typename Types< U, V >::gradient_ref | grad_uv, |
const typename Types< U, V >::vectorU_ref | u, | ||
const typename Types< U, V >::vectorV_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 |
||
) | [inline, static] |
Full dense version of gradient computation.
static void roboptim::detail::ProductDifferentiation::gradient | ( | typename Types< U, V >::gradient_ref | grad_uv, |
const typename Types< U, V >::vectorU_ref | u, | ||
const typename Types< U, V >::vectorV_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 |
||
) | [inline, static] |
Dense/sparse version of gradient computation.
dense.cwiseProduct (sparse) or sparse.cwiseProduct (dense) are apparently not available in Eigen.
static void roboptim::detail::ProductDifferentiation::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 |
||
) | [inline, static] |
Full dense version of Jacobian computation.
static void roboptim::detail::ProductDifferentiation::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 |
||
) | [inline, static] |
Dense/sparse version of Jacobian computation.
dense.cwiseProduct (sparse) or sparse.cwiseProduct (dense) are apparently not available in Eigen.