Crates.io | bfgs |
lib.rs | bfgs |
version | 0.1.0 |
source | src |
created_at | 2018-08-09 22:28:09.204203 |
updated_at | 2018-08-09 22:28:09.204203 |
description | A pure Rust implementation of the BFGS optimization algorithm |
homepage | |
repository | https://github.com/paulkernfeld/bfgs |
max_upload_size | |
id | 78596 |
size | 8,025 |
This package contains an implementation of BFGS, an algorithm for minimizing convex twice-differentiable functions.
In this example, we minimize a 2d function:
extern crate bfgs;
extern crate ndarray;
use ndarray::prelude::*;
fn main() {
let x0 = Array::from_vec(vec![8.888, 1.234]); // Chosen arbitrarily
let f = |x: &Array1<f64>| x.dot(x);
let g = |x: &Array1<f64>| 2.0 * x;
let x_min = bfgs::bfgs(x0, f, g);
assert_eq!(x_min, Ok(Array::from_vec(vec![0.0, 0.0])));
}
License: MIT/Apache-2.0