Недавно я наткнулся на библиотеку boost.odeint, и меня удивляет количество возможностей и настраиваемость. Однако, широко использовав scipy.integrate.odeint (который по сути является оберткой для ODEPACK на фортране), я удивляюсь, как их производительность сравнивается. Я знаю, что boost.odeint также поставляется с распараллеливанием, что невозможно с scipy (насколько я знаю), что значительно увеличило бы производительность, но я прошу одноядерный вариант.
Однако, так как в этом случае мне нужно было бы включить boost.odeint (используя cython или boost.python) в python, возможно, кто-то из вас уже сделал это? Это было бы большим достижением, так как все возможности анализа в Python намного более продвинуты.
Насколько я могу судить из сравнения списков доступных степперов для
Boost.odeint и scipy.integrate.ode, единственный алгоритм, реализованный обоими
степпер пятого порядка Дормана-Принца, dopri5
, Вы могли бы сравнить
Эффективность двух реализаций этого алгоритма в Python с помощью
эта обертка Cython Boost.odeint (он не раскрывает все
Степперы предоставляются Boost.odeint, но выставляют dopri5
).
В зависимости от вашего определения «производительности тестирования» вы также можете сравнить
разные алгоритмы, но это, очевидно, не то же самое, что сравнение
две реализации одного и того же алгоритма.
Других решений пока нет …