scipy.optimize.

SR1#

class scipy.optimize.SR1(min_denominator=1e-08, init_scale='auto')[源代码]#

对称秩 1 Hessian 更新策略。

参数:
min_denominatorfloat

此数值,按归一化因子缩放,定义了更新中允许的最小分母幅度。当违反条件时,我们跳过更新。默认使用 1e-8

init_scale{float, np.array, ‘auto’}, 可选

此参数可用于初始化 Hessian 矩阵或其逆矩阵。当给定一个浮点数时,相关数组初始化为 np.eye(n) * init_scale,其中 n 是问题的维度。或者,如果给出一个精确的 (n, n) 形状的对称数组,则将使用该数组。否则,将生成错误。将其设置为 ‘auto’ 以使用自动启发式方法来选择初始比例。该启发式方法在 [1], p.143 中描述。默认值为 ‘auto’。

注释

更新基于 [1], p.144-146 中的描述。

参考文献

[1] (1,2)

Nocedal, Jorge, and Stephen J. Wright. “Numerical optimization” Second Edition (2006).

方法

dot(p)

计算内部矩阵与给定向量的乘积。

get_matrix()

返回当前的内部矩阵。

initialize(n, approx_type)

初始化内部矩阵。

update(delta_x, delta_grad)

更新内部矩阵。