bfgs.m

From Spinach Documentation Wiki
Jump to: navigation, search

Calculates a BFGS approximation to the Newton-Raphson search direction for maximising a function using past gradients to build a serviceable substitute to a Hessian. Unlike LBFGS, the pseudo-Hessian matrix is formed explicitly.

Syntax

                    H=bfgs(dx_hist,dg_hist,g)

Parameters

       dx_hist  - history of x increments, a stack
                  of column vectors, from the latest
                  to the earliest
       dg_hist  - history of gradient increments,
                  a stack of column vectors, from
                  the latest to the earliest
       g        - current gradient (used for sizing)
    Returns:
       H        - BFGS approximation to the Hessian
                  matrix corresponding to the *nega-
                  tive* Hessian of the objective.
                  The corresponding ascent directi-
                  on is obtained as:  direction=H\g

Outputs

    this function produces output as described in source code

Examples

See examples in the Spinach distribution relevant to this function.

Notes

This page was generated from the function header in the Spinach repository.

See also

fmaxnewton.m, alpha_conds.m, bracketing.m, sectioning.m, cubic_interp.m, aux_mat.m, dirdiff.m, drifts.m, ensemble.m, hess_reorder.m, objeval.m, optimcon.m, trapdiff.m, Optimal_control_module

Version 2.11, authors: Ilya Kuprov