Существует буст 1.53 и OdeInt в нем. Он имеет диапазон числовые решатели оды в нем. Тем не менее мне интересно, есть ли аналог lsode в это - для случаев, когда у вас есть гарантированный аналитический раствор?
Есть ли аналог lsode в Boost OdeInt?
Ответы (2)
Я не совсем понимаю ваш вопрос. LSODE решает любое универсальное ОДУ вида dx/dt = f(x,t) [1], как и методы в odeint. Однако LSODE проверяет жесткость задачи и выбирает правильную схему (предиктор-корректор для нежестких задач и обратное дифференцирование для жестких задач). odeint не обеспечивает этот автоматический выбор, а скорее полагается на то, что пользователь выберет правильную схему для проблемы. Насколько мне известно, ни одна из двух реализаций не использует возможное существующее аналитическое решение.
[1] https://computation.llnl.gov/casc/odepack/odepack_home.html< /а>
Большинство решателей ODE подразумевают какие-то ограничения по сравнению с исходным LSODE (реализация Fortran). Ближайшая альтернатива, которую я знаю, это Octave от GNU на данный момент.