pub fn minimize_gd(
f: &dyn Fn(&[f64]) -> f64,
grad: &dyn Fn(&[f64]) -> Vec<f64>,
x0: &[f64],
lr: f64,
max_iter: usize,
tol: f64,
) -> OptResultExpand description
Gradient descent with fixed learning rate.
Minimizes f starting from x0 by iterating x_{k+1} = x_k - lr * grad(x_k).