Я недавно изменил код моделирования, чтобы использовать solve_ivp
вместо odeint
для интеграции моих уравнений. Добавление якобиана (Dfunc
) к odeint
ускоряет его примерно в 5 раз. Добавление того же якобиана (jac
) к solve_ivp
замедляет его примерно в 2 раза, в зависимости от того, какой решатель я укажу. В чем может быть причина этого?
Я знаю, что odeint
использует якобиан по умолчанию, тогда как решатель по умолчанию для solve_ivp
не использует якобиан, но почему? Более того, самая быстрая версия solve_ivp
работает примерно в три раза быстрее, чем самая быстрая версия odeint
. Однако, если я смогу сделать это еще быстрее, это будет просто фантастика c.