scipy.optimize.

SR1#

classscipy.optimize.SR1(min_denominator=1e-08,init_scale='auto')[source]#

Symmetric-rank-1 Hessian update strategy.

Parameters:
min_denominatorfloat

This number, scaled by a normalization factor,defines the minimum denominator magnitude allowedin the update. When the condition is violated we skipthe update. By default uses1e-8.

init_scale{float, np.array, ‘auto’}, optional

This parameter can be used to initialize the Hessian or itsinverse. When a float is given, the relevant array is initializedtonp.eye(n)*init_scale, wheren is the problem dimension.Alternatively, if a precisely(n,n) shaped, symmetric array is given,this array will be used. Otherwise an error is generated.Set it to ‘auto’ in order to use an automatic heuristic for choosingthe initial scale. The heuristic is described in[1], p.143.The default is ‘auto’.

Methods

dot(p)

Compute the product of the internal matrix with the given vector.

get_matrix()

Return the current internal matrix.

initialize(n, approx_type)

Initialize internal matrix.

update(delta_x, delta_grad)

Update internal matrix.

Notes

The update is based on the description in[1], p.144-146.

References

[1](1,2)

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

On this page