I have to solve some stiff ordinary differential equations, so I informed myself about the implicit methods that Odeint provides. However, when I copy and complie in Xcode the example in the documentation of Odeint, http://headmyshoulder.github.io/odeint-v2/doc/boost_numeric_odeint/tutorial/stiff_systems.html (for the full example see the link "stiff_system.cpp" at the bottom of the page), the implicit rosenbrock4 method needs some 40030 steps for the integration instead of 71 as is claimed in the documentation. In contrast, for the runge_kutta_dopri5 method that is also applied in the example for comparison I get exactly the 1531 steps as in the documentation. Correspondingly, the implicit method of course needs much longer for the calculation than the runga_kutta method, although the example should examplify the advantage of implicit methods over explicit ones for this special case of a stiff problem. Now, if I compile the code on another machine using g++ compiler I get almost exactly the result, namely 74 steps for the implicit method, which is very close to the 71 suggested by the documentation but still not exact.
Can anybody explain why the implicit method does not work properly with Xcode 7.3.1 and what one could possibly do to use it on Xcode in the designated way?
So, after some frustrating search to get odeint do what it is supposed to do, I found out that everything works fine when you use version 1.59 of boost library (containing odeint). The described problem with the rosenbrock4 method seems to exist only for the later versions 1.60 - 1.62. So, it definitely seems to be a problem with the library rather than with xcode. I will report this problem to odeint. In the meantime, if you encounter the same problem, you can just download boost 1.59 with which everything works fine.