为什么当我使用 Radau 方法运行 scipy.integrate.solve_ivp 时,雅可比计算的数量不等于函数计算的数量?具体来说,在我的代码中,它只计算雅可比行列式一次或两次,即使雅可比行列式在每一步都会发生变化。
雅可比求值和因式分解是一项昂贵的操作。为了使 ODE 积分器正确且高效地工作,近似雅可比行列式就足够了。求解器在更新雅可比行列式之前,会尽可能长时间地对其进行算法计算。因此,如果雅可比行列式在解段所在的 ODE 域的部分上变化很小,那么一个雅可比行列式评估就足够了。
另请注意,单个 Radau5 步骤的函数评估数量可以有 3、6、9 或 12 甚至 3 的更高倍数。