quemb.shared.external.optqn.trustRegion

quemb.shared.external.optqn.trustRegion(func, xold, fold, Binv, c=0.5)

Perform Trust Region Optimization.

See “A Broyden Trust Region Quasi-Newton Method for Nonlinear Equations” (https://www.iaeng.org/IJCS/issues_v46/issue_3/IJCS_46_3_09.pdf)” Algorithm 1 for more information

Parameters:
  • func (Callable) – Cost function

  • xold (list or ndarray) – Current x_p (potentials in BE optimization)

  • fold (list or ndarray) – Current f(x_p) (error vector)

  • Binv (ndarray) – Inverse of Jacobian approximate (B^{-1}); This is updated in Broyden’s Method through Sherman-Morrison formula

  • c (float, optional) – Initial value of trust radius ∈ (0, 1), by default 0.5

Returns:

xnew, fnew – x_{p+1} and f_{p+1}. These values are used to proceed with Broyden’s Method.

Return type:

tuple