pub fn golden_section(
sigma_lo_in: Number,
sigma_up_in: Number,
q_lo_in: Number,
q_up_in: Number,
sigma_tol: Number,
qf_tol: Number,
max_steps: i32,
q: impl FnMut(Number) -> Number,
) -> NumberExpand description
Pure-scalar golden-section minimizer used by
QualityFunctionMuOracle::PerformGoldenSection
(IpQualityFunctionMuOracle.cpp:668-790).
Searches for argmin_{σ ∈ [σ_lo, σ_up]} q(σ) via golden-section.
Stops when either:
(σ_up − σ_lo) < σ_tol · σ_up(relative width), or1 − min(q_corners) / max(q_corners) < qf_tol(function flat),nsections ≥ max_steps.
q_lo / q_up are the function values at the bracket endpoints,
as in upstream where they’re often pre-evaluated and a sentinel
-100.0 is passed when the value isn’t yet known.