You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Scipy中InverseJacobian与BroydenFirst作为预条件器的底层原理问询

关于scipy.optimize.InverseJacobian与BroydenFirst作为newton_krylov预条件器的底层机制疑问

我正试图精准理解scipy.optimize.InverseJacobian与scipy.optimize.BroydenFirst的底层运作机制,尤其是将它们作为scipy.optimize.newton_krylov的inner_M参数时的具体行为。

举个具体场景:当选择GMRES方法时,newton_krylov需要求解形如$J(xk)\delta_xk=-F(xk)$的等价牛顿问题,但它并非直接计算雅可比矩阵,而是通过近似矩阵向量乘积$J(xk)\delta_x^k$来实现。

我了解到使用(近似)逆雅可比矩阵作为预条件器有助于加速收敛,因此推测scipy.optimize.InverseJacobian会对$J(x^k)$进行某种近似,但有两个核心疑问:

  • 这种近似的具体数学方式是什么?
  • 该近似是在GMRES的每次外层迭代中更新,还是仅在初始阶段计算一次?

我已成功运行以下代码,但希望从数学层面深入理解其运作逻辑:

jac = BroydenFirst()
x0 = scipy.optimize.newton_krylov(fun, 
                                  x0, 
                                  # 其他参数省略
                                  inner_M=InverseJacobian(jac))

内容的提问来源于stack exchange,提问作者Sceki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 09:42:04