root(方法=’broyden1’)#
- 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_norm函数(向量) -> 标量,可选
在收敛性检查中使用的范数。默认为最大范数。
- line_search{无,“armijo”(默认,“wolfe”),可选
用于确定 Jacobian 近似所给出方向中的步长的直线搜索类型。默认为“armijo”。
- jac_options字典,可选
- 各个 Jacobian 近似的选项。
- alpha浮点数,可选
Jacobian 的初始猜测为 (-1/alpha)。
- reduction_methodstr 或元组,可选
用于确保 Broyden 矩阵保持低秩的方法。它可以是一个给出方法名称的字符串,也可以是
(method, param1, param2, ...)
形式的元组,给出方法名称和附加参数的值。可用的方法
重启
删除所有矩阵列。无额外参数。
简单
删除最旧的矩阵列。无额外参数。
svd
只保留最重要的 SVD 分量。
附加参数
to_retain
秩减少时要保留的 SVD 分量数。默认值为
max_rank - 2
。
- max_rank整数,可选
Broyden 矩阵的最大秩。默认为无穷大(即,无秩减少)。
示例
>>> def func(x): ... return np.cos(x) + x[::-1] - [1, 2, 3, 4] ... >>> from scipy import optimize >>> res = optimize.root(func, [1, 1, 1, 1], method='broyden1', tol=1e-14) >>> x = res.x >>> x array([4.04674914, 3.91158389, 2.71791677, 1.61756251]) >>> np.cos(x) + x[::-1] array([1., 2., 3., 4.])