BFGS#

class BFGS(*params)[source]#

Bases: _Optimizer

Subclass of Optimizer, inherits its behavior.

Additional Features:#

  • run() is implemented via BFGS optimization algorithm

  • _break_condition() is implemented to check for convergence

  • _update_hess_inv() is implemented to update the inverse Hessian approximation as part of BFGS

Methods Summary

run(x0)

Run BFGS optimization routine with initial point x0.

Methods Documentation

run(x0)[source]#

Run BFGS optimization routine with initial point x0.

Parameters:

x0 (ArrayLike) – Initial point for optimization.

Returns:

  • x_opt (FloatNDArray) – Optimal point found by the optimizer.

  • f_opt (float) – Function value at the optimal point.

  • grad_opt (FloatNDArray) – Gradient of the objective function at the optimal point.

  • hess_opt (None) – BFGS does not return the Hessian, always None.

Return type:

Tuple[ndarray[tuple[int, …], dtype[float64]], float, ndarray[tuple[int, …], dtype[float64]], None]

Parameters:

params (Any)