<div dir="ltr"><div><div>I am trying follow examples/general/change_param.cpp in CppAD.<br><br></div>I have following code:<br><br>#include <cppad/cppad.hpp><br>#include <cppad/example/cppad_eigen.hpp><br>#include <Eigen/Eigenvalues> <br>#include <iostream><br><br>// main program<br>int main()<br>{    <br>   typedef double Scalar;<br>   typedef CppAD::AD<Scalar> AD;<br>   typedef CppAD::AD<AD> AD2;<br>   typedef Eigen::Matrix<AD, Eigen::Dynamic,1> ADvector;<br>   typedef Eigen::Matrix<Scalar, Eigen::Dynamic,1> Dvector;<br>   typedef Eigen::Matrix<AD2, Eigen::Dynamic,1> AD2vector;<br>     <br>   size_t n = 2, m = 1;     <br>   ADvector Xp(n+1),Y(m);<br>   CppAD::Independent(Xp);   <br><br>   AD2vector X2(n),Y2(m); <br>   CppAD::Independent(X2);<br>   Y2(0)=pow(X2(0),2) + pow(X2(1),2 )+ Xp(2)* (X2(0)* X2(1)); <br>   CppAD::ADFun<AD> f2(X2, Y2);  <br>   <br>   ADvector X(n);<br>   for(int i=0;i<n;i++) X(i)=Xp(i);   <br>   ADvector J(n*n);<br>   J=f2.Jacobian(X);<br>   <br>     CppAD::ADFun<Scalar> g(Xp, J);<br>     g.optimize();<br>      <br>   Dvector x(n);<br>   Scalar T=10.0;<br>   x[0] = 3.0; x[1]=2.0; x[2]=T;<br>   Dvector jac  = g.Forward(0,x);      // Jacobian for operation sequence<br>   std::cout << "Jacobian computed by CppAD = " << jac<< std::endl;<br><br>   return 0;<br>}<br><br><br></div>This code compiles successfully but gives runtime error<br><br><br> Eigen::DenseCoeffsBase<Derived, 1>::Scalar& Eigen::DenseCoeffsBase<Derived, 1>::operator[](Eigen::DenseCoeffsBase<Derived, 1>::Index) [with Derived = Eigen::Matrix<double, -1, 1>; Eigen::DenseCoeffsBase<Derived, 1>::Scalar = double; Eigen::DenseCoeffsBase<Derived, 1>::Index = long int]: Assertion `index >= 0 && <br>index < size()' failed.<br>Aborted<br><br></div>