2 #include "algo/ad/detail/jacobian_matrix_adaptor_helper.hpp"
3 #include "algo/ad/iterator/ConstMatrixIterator.hpp"
4 #include "algo/ad/iterator/MatrixIterator.hpp"
6 #include <boost/numeric/ublas/fwd.hpp>
7 #include <boost/numeric/ublas/matrix_expression.hpp>
8 #include <boost/numeric/ublas/matrix_expression.hpp>
10 namespace algo {
namespace ad {
18 :
public boost::numeric::ublas::matrix_expression<jacobian_matrix_adaptor<E> > {
22 typedef typename E::const_closure_type expression_const_closure_type;
25 typedef std::size_t size_type;
26 typedef double value_type;
27 typedef std::ptrdiff_t difference_type;
31 typedef boost::numeric::ublas::unknown_orientation_tag orientation_category;
54 return _e(0).getDerivative().size();
66 return detail::jacobian_matrix_accessor(_e, i, j);
72 expression_const_closure_type _e;
const double operator()(size_type i, size_type j) const
Definition: jacobian_matrix_adaptor.hpp:64
size_type size1() const
row size.
Definition: jacobian_matrix_adaptor.hpp:43
Definition: ConstMatrixIterator.hpp:6
Definition: ublas_matrix_expression_concept.hpp:5
size_type size2() const
col size. Currently, we assume _e is vecor.
Definition: jacobian_matrix_adaptor.hpp:52
must be const.
Definition: jacobian_matrix_adaptor.hpp:17