Learn R Programming

sqp (version 0.5)

bfgs_update: (Damped) BFGS Hessian approximation

Description

BFGS update for appromation of the Hessian matrix @cf. @broyden70; @fletcher70; @goldfarb70; @shanno70sqp in its damped version proposed by powell78;textualsqp. The approximation is based on first-order information (parameter values & gradients) only.

Usage

bfgs_update(
  hessian,
  old_y,
  new_y,
  old_gradient,
  new_gradient,
  constraint_adjustment = TRUE
)

Arguments

hessian

Dense matrix of size \(N \times N\): Current approximation of the Hessian matrix, which is updated by reference. Needs to be symmetric positive definite. A common starting point for the BFGS algorithm is the identity matrix.

old_y, new_y, old_gradient, new_gradient

Numeric vectors of size N: parameters old_y,new_y and corresponding gradients old_gradient,new_gradient from previous and current iteration.

constraint_adjustment

Boolean: Whether to enforce positive definiteness (mainly for constrained optimization).

Value

Nothing. Argument 'hessian' is updated by reference.

References