Skip to main content

global_minimum

Function global_minimum 

Source
pub fn global_minimum<F: FnMut(&[f64]) -> f64>(
    f: F,
    lower: &[f64],
    upper: &[f64],
    tolerance: f64,
    max_evaluations: usize,
) -> OgeomResult<Minimum>
Expand description

The least value of f over the box, to within tolerance, by Lipschitz branch and bound with local polishing.

A box’s floor is the tighter of two: its centre’s value less a slope bound times its half-diagonal, and less the centre’s gradient times the half-diagonal and half a curvature bound times its square, which closes on a smooth minimum as the box shrinks. Both bounds are estimated from finite differences over a sampling of the box and doubled; a function steeper or more sharply bent somewhere than any sample shows can hide a minimum from the certificate. max_evaluations caps the work; a search stopped by it reports certified: false.

§Errors

OgeomError::Construction if the box is malformed or the tolerance is not positive.