package scipy
Module Optimize.SR1Source
Symmetric-rank-1 Hessian update strategy.
Parameters ---------- min_denominator : float This number, scaled by a normalization factor, defines the minimum denominator magnitude allowed in the update. When the condition is violated we skip the update. By default uses ``1e-8``. init_scale : float, 'auto', optional Matrix scale at first iteration. At the first iteration the Hessian matrix or its inverse will be initialized with ``init_scale*np.eye(n)``, where ``n`` is the problem dimension. Set it to 'auto' in order to use an automatic heuristic for choosing the initial scale. The heuristic is described in 1_, p.143. By default uses 'auto'.
Notes ----- The update is based on the description in 1_, p.144-146.
References ---------- .. 1 Nocedal, Jorge, and Stephen J. Wright. 'Numerical optimization' Second Edition (2006).
val dot :
p:[> `Ndarray ] Np.Obj.t ->
[> tag ] Obj.t ->
[ `ArrayLike | `Ndarray | `Object ] Np.Obj.tCompute the product of the internal matrix with the given vector.
Parameters ---------- p : array_like 1-D array representing a vector.
Returns ------- Hp : array 1-D represents the result of multiplying the approximation matrix by vector p.
Return the current internal matrix.
Returns ------- M : ndarray, shape (n, n) Dense matrix containing either the Hessian or its inverse (depending on how `approx_type` was defined).
Initialize internal matrix.
Allocate internal memory for storing and updating the Hessian or its inverse.
Parameters ---------- n : int Problem dimension. approx_type : 'hess', 'inv_hess' Selects either the Hessian or the inverse Hessian. When set to 'hess' the Hessian will be stored and updated. When set to 'inv_hess' its inverse will be used instead.
val update :
delta_x:[> `Ndarray ] Np.Obj.t ->
delta_grad:[> `Ndarray ] Np.Obj.t ->
[> tag ] Obj.t ->
Py.Object.tUpdate internal matrix.
Update Hessian matrix or its inverse (depending on how 'approx_type' is defined) using information about the last evaluated points.
Parameters ---------- delta_x : ndarray The difference between two points the gradient function have been evaluated at: ``delta_x = x2 - x1``. delta_grad : ndarray The difference between the gradients: ``delta_grad = grad(x2) - grad(x1)``.
Pretty-print the object to a formatter.