root(method=’broyden2’)#

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,可选

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

tol_normfunction(向量) -> 标量, 可选

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

line_search{None, ‘armijo’ (默认), ‘wolfe’}, 可选

使用哪种类型的线搜索来确定雅可比近似给出的方向上的步长。默认为“armijo”。

jac_optionsdict,可选

各个雅可比近似的选项。

alphafloat,可选

雅可比的初始猜测是 (-1/alpha)。

reduction_methodstr 或 tuple,可选

用于确保 Broyden 矩阵的秩保持较低的方法。可以是给出方法名称的字符串,也可以是形式为 (method, param1, param2, ...) 的元组,给出方法名称和附加参数的值。

可用方法

  • restart:删除所有矩阵列。没有额外的参数。

  • simple:删除最旧的矩阵列。没有额外的参数。

  • svd:仅保留最重要的 SVD 分量。需要一个额外的参数 to_retain,它确定在完成秩缩减时要保留的 SVD 分量的数量。默认值为 max_rank - 2

max_rankint,可选

Broyden 矩阵的最大秩。默认值为无穷大(即,不进行秩缩减)。