I have a question very simmilar to this: Using Boost::odeint with Eigen::Matrix as state vector . But instead of using a constant stepper i want to use a controlled stepper. Therefore I changend the code from the nicely working:
typedef runge_kutta_dopri5<state_type,double,state_type,double,vector_space_algebra> error_stepper_type;
integrate_const( error_stepper_type() , odefunction,X0 , 0 , 10, dt));
to
typedef runge_kutta_dopri5<state_type,double,state_type,double,vector_space_algebra> error_stepper_type;
typedef controlled_runge_kutta< error_stepper_type > controlled_stepper_type;
double abs_err = 1.0e-10 , rel_err = 1.0e-6 , a_x = 1.0 , a_dxdt = 1.0;
controlled_stepper_type controlled_stepper( default_error_checker< double,vector_space_algebra >( abs_err , rel_err , a_x , a_dxdt ) );
integrate_adaptive( controlled_stepper , odefunction, X0 , 0.0 , 10.0 ,dt );
and again getting compiler errors concerning the vector_space_algebra. Is there a solution as easy as for the constant stepper?