Мне нужно решить некоторые жесткие обыкновенные дифференциальные уравнения, поэтому я сообщил себе о неявных методах, которые предлагает Odeint. Однако, когда я копирую и комментирую в Xcode пример в документации Odeint, http://headmyshoulder.github.io/odeint-v2/doc/boost_numeric_odeint/tutorial/stiff_systems.html (для полного примера см. Ссылку «stiff_system.cpp» в нижней части страницы), для неявного метода rosenbrock4 требуется около 40030 шагов для интеграции вместо 71, как утверждается в документации. Напротив, для метода runge_kutta_dopri5, который также применяется в примере для сравнения, я получаю ровно 1531 шагов, как в документации. Соответственно, неявный метод, конечно, для вычисления намного длиннее, чем метод runga_kutta, хотя в этом примере должно быть рассмотрено преимущество неявных методов по явным для этого особого случая жесткой проблемы. Теперь, если я скомпилирую код на другом компьютере с помощью компилятора g ++, я получаю почти точно результат, а именно 74 шага для неявного метода, который очень близок к 71, предложенному документацией, но все еще не точным.Невозможно использовать неявный решатель от OdeInt правильно в Xcode 7.3.1
Может ли кто-нибудь объяснить, почему неявный метод не работает должным образом с Xcode 7.3.1 и что можно сделать, чтобы использовать его на Xcode назначенным образом?