scipy.integrate.solve_ivp:为什么雅可比行列式评估的数量不等于函数评估的数量?

问题描述 投票:0回答:1

为什么当我使用 Radau 方法运行 scipy.integrate.solve_ivp 时,雅可比计算的数量不等于函数计算的数量?具体来说,在我的代码中,它只计算雅可比行列式一次或两次,即使雅可比行列式在每一步都会发生变化。

python scipy ode integrator
1个回答
0
投票

雅可比求值和因式分解是一项昂贵的操作。为了使 ODE 积分器正确且高效地工作,近似雅可比行列式就足够了。求解器在更新雅可比行列式之前,会尽可能长时间地对其进行算法计算。因此,如果雅可比行列式在解段所在的 ODE 域的部分上变化很小,那么一个雅可比行列式评估就足够了。

另请注意,单个 Radau5 步骤的函数评估数量可以有 3、6、9 或 12 甚至 3 的更高倍数。

© www.soinside.com 2019 - 2024. All rights reserved.