bfgs_method

odl.solvers.smooth.newton.bfgs_method(f, x, line_search=1.0, maxiter=1000, tol=1e-15, num_store=None, hessinv_estimate=None, callback=None)[source]

Quasi-Newton BFGS method to minimize a differentiable function.

Can use either the regular BFGS method, or the limited memory BFGS method.

Parameters
fFunctional

Functional with f.gradient.

xf.domain element

Starting point of the iteration

line_searchfloat or LineSearch, optional

Strategy to choose the step length. If a float is given, uses it as a fixed step length.

maxiterint, optional

Maximum number of iterations.

tolfloat, optional

Tolerance that should be used for terminating the iteration.

num_storeint, optional

Maximum number of correction factors to store. For None, the method is the regular BFGS method. For an integer, the method becomes the Limited Memory BFGS method.

hessinv_estimateOperator, optional

Initial estimate of the inverse of the Hessian operator. Needs to be an operator from f.domain to f.domain. Default: Identity on f.domain

callbackcallable, optional

Object executing code per iteration, e.g. plotting each iterate.

Goldfarb%E2%80%93Shanno_algorithm>`_