id summary reporter owner description type status milestone component version severity resolution keywords cc 10680 Cannot use Eigen vector as state type in integrate? ilja.j.honkonen@… karsten "The program {{{ #include ""boost/numeric/odeint.hpp"" #include ""Eigen/Core"" using namespace boost::numeric::odeint; int main() { Eigen::Vector3d state(0, 0, 0); integrate( [](const auto& state, auto& change, const double /*time*/){ change = Eigen::Vector3d(1, 0, 0); }, state, 0.0, 1.0, 0.1 ); return 0; } }}} does not compile with Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn) using -std=c++1y {{{ In file included from /Users/iljah/include/boost/numeric/odeint.hpp:67: /Users/iljah/include/boost/numeric/odeint/integrate/integrate.hpp:59:12: error: no matching function for call to 'integrate' return integrate( system , start_state , start_time , end_time , dt , null_observer() ); ^~~~~~~~~ odeint1.cpp:9:2: note: in instantiation of function template specialization 'boost::numeric::odeint::integrate<, Eigen::Matrix, double>' requested here integrate( ^ /Users/iljah/include/boost/numeric/odeint/integrate/integrate.hpp:44:28: note: candidate template ignored: disabled by 'enable_if' [with System = , State = Eigen::Matrix, Time = double, Observer = boost::numeric::odeint::null_observer] typename boost::enable_if< typename has_value_type::type , size_t >::type ^ /Users/iljah/include/boost/numeric/odeint/integrate/integrate.hpp:57:8: note: candidate function template not viable: requires 5 arguments, but 6 were provided size_t integrate( System system , State &start_state , Time start_time , Time end_time , Time dt ) ^ 1 error generated. }}} Based on ""disabled by 'enable_if'"" I'd guess the problem is in odeint not Eigen, or this a user error? I get many more errors if the state type is e.g. a std::array of Eigen vectors but I'll create another ticket if that issue persists." Bugs closed To Be Determined odeint Boost 1.56.0 Problem fixed