wolfe_bfgs
Focused dense BFGS optimization in Rust with a Strong Wolfe line search, reexported from opt.
This crate is the smaller companion package for users who only want the BFGS-first API.
This crate exposes the first-order API only:
BfgsProblemoptimizeFirstOrderObjectiveFusedObjectivefor value+gradient evaluators backed by one expensive computationZerothOrderObjectiveFiniteDiffGradientSolutionBounds,Tolerance,MaxIterations,ProfileBfgsErrorand related error/configuration types
If you want the full solver set, including Newton trust-region and ARC, use the companion opt crate instead.
Usage
Add this to your Cargo.toml:
[]
= "0.6.3"
Example
use ;
use ;
;
let x0 = array!;
let Solution = optimize
.with_tolerance
.with_max_iterations
.with_profile
.run
.expect;
assert!;
assert!;
assert!;
assert!;
For cost-only objectives, wrap a ZerothOrderObjective with FiniteDiffGradient.
Implementation
wolfe_bfgs is published from the same repository as opt.
It reexports the first-order API from opt rather than maintaining a separate implementation.