root(method=”krylov”)#

scipy.optimize.root(fun, x0, args=(), method='hybr', jac=None, tol=None, callback=None, options=None)

另请参阅

有关其他参数的文档,请参阅 scipy.optimize.root

选项:
——-
nitint,可选

要进行的迭代次数。如果省略(默认),将尽可能满足容差要求。

dispbool,可选

每次迭代都会在标准输出上打印状态。

maxiterint,可选

要进行的最大迭代次数。

ftolfloat,可选

残差的相对容差。如果省略,则不会被使用。

fatolfloat,可选

残差的绝对容差(以最大范数表示)。如果省略,则默认为 6e-6。

xtol浮点数,可选

相对最小步长。如果省略,则不使用。

xatol浮点数,可选

根据雅可比近似确定的绝对最小步长。如果步长小于此值,则优化终止为成功。如果省略,则不使用。

tol_norm函数(向量) -> 标量,可选

在收敛检查中使用的范数。默认情况下为最大范数。

line_search无,'armijo'(默认),'wolfe',可选

哪种类型的线搜索可用于确定由雅可比近似所指示方向中的步长。默认为“armijo”。

jac_options字典,可选

各个雅可比近似的选项。

rdiff浮点数,可选

在数值微分中要使用的相对步长。

method字符串或可调用对象,可选

用于逼近雅可比的 Krylov 方法。可以是字符串或实现与 scipy.sparse.linalg 中的迭代求解器相同接口的函数。如果为字符串,则需要是以下之一:'lgmres''gmres''bicgstab''cgs''minres''tfqmr'

默认值为 scipy.sparse.linalg.lgmres

inner_M线性算子或逆雅可比

内部 Krylov 迭代的前置条件。请注意,您还可以使用逆雅可比作为(自适应)前置条件。例如,

>>> jac = BroydenFirst()
>>> kjac = KrylovJacobian(inner_M=jac.inverse).

如果前置条件具有名为“update”的方法,则在每次非线性步骤后将其调用为 update(x, f),其中 x 给出当前点,f 给出当前函数值。

inner_tol、inner_maxiter、…

传递给“内部”Krylov 求解器的参数。请参阅 scipy.sparse.linalg.gmres 了解详情。

outer_k整数,可选

LGMRES 非线性迭代中保持的子空间大小。

请参阅scipy.sparse.linalg.lgmres以了解更多详情。