B <- B - B s s'B/(s'B s) + y y'/(y's), or in inverse form H <- (I - rho s y') H (I - rho y s') + rho s s' with rho = 1/(y's).
Value
List with M, rho, curvature, secant, p, inverse. secant is the largest violation of the secant condition, which is zero up to rounding for a correct update.
References
Broyden (1970), Fletcher (1970), Goldfarb (1970), Shanno (1970); stated identically in Nocedal and Wright, Numerical Optimization, 2nd edn, Eqs. (6.17) and (6.19). Standard published form; none of the 1970 papers is in the local corpus and none was read.
Examples
Bfgsupd(H = 0.5, s = 5L, y = 5L)
#> $M
#> [,1]
#> [1,] 1
#>
#> $rho
#> [1] 0.04
#>
#> $curvature
#> [1] 25
#>
#> $secant
#> [1] 0
#>
#> $p
#> [1] 1
#>
#> $inverse
#> [1] TRUE
#>
#> $method
#> [1] "BFGS rank-two secant update (Broyden-Fletcher-Goldfarb-Shanno 1970)"
#>
#> attr(,"class")
#> [1] "morie_rich_result" "list"
