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'

預設值為 scipy.sparse.linalg.lgmres

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