root(method=’krylov’)#
- scipy.optimize.root(fun, x0, args=(), method='hybr', jac=None, tol=None, callback=None, options=None)
參見
有關其餘參數的文件,請參閱
scipy.optimize.root
- 選項:
- ——-
- nitint,選用
要進行的迭代次數。如果省略(預設),則進行達到容差所需的次數。
- dispbool,選用
在每次迭代時將狀態列印到 stdout。
- maxiterint,選用
要進行的最大迭代次數。
- ftolfloat,選用
殘差的相對容差。如果省略,則不使用。
- fatolfloat,選用
殘差的絕對容差(以最大範數)。如果省略,則預設值為 6e-6。
- xtolfloat,選用
相對最小步長。如果省略,則不使用。
- xatolfloat,選用
絕對最小步長,由 Jacobian 近似值決定。如果步長小於此值,則最佳化終止並視為成功。如果省略,則不使用。
- tol_normfunction(vector) -> scalar,選用
在收斂檢查中使用的範數。預設值為最大範數。
- line_search{None, ‘armijo’ (預設), ‘wolfe’},選用
要使用哪種類型的線搜索來確定 Jacobian 近似值給定方向上的步長。預設為 ‘armijo’。
- jac_optionsdict,選用
用於各別 Jacobian 近似值的選項。
- rdifffloat,選用
在數值微分中使用的相對步長。
- methodstr 或可呼叫物件,選用
用於近似 Jacobian 的 Krylov 方法。可以是字串,或實作與
scipy.sparse.linalg
中迭代求解器相同介面的函式。如果是字串,則需要是以下其中之一:'lgmres'
、'gmres'
、'bicgstab'
、'cgs'
、'minres'
、'tfqmr'
。- inner_MLinearOperator 或 InverseJacobian
用於內部 Krylov 迭代的預處理器。請注意,您也可以使用逆 Jacobian 作為(自適應)預處理器。例如,
>>> jac = BroydenFirst() >>> kjac = KrylovJacobian(inner_M=jac.inverse).
如果預處理器有名為 ‘update’ 的方法,它將在每個非線性步驟後以
update(x, f)
的形式呼叫,其中x
給出目前點,而f
給出目前的函數值。- inner_rtol、inner_atol、inner_callback、…
要傳遞給「內部」Krylov 求解器的參數。
如需選項的完整清單,請參閱您正在使用的求解器的文件。預設情況下,這是
scipy.sparse.linalg.lgmres
。如果求解器已透過 method 覆寫,請參閱該求解器的文件。若要使用該求解器的選項,請在其前面加上inner_
。例如,若要控制求解器的rtol
引數,請在此處設定 inner_rtol 選項。- outer_kint,選用
跨 LGMRES 非線性迭代保留的子空間大小。
有關詳細資訊,請參閱
scipy.sparse.linalg.lgmres
。