pub struct StrategyConfig {
pub kind: StepKind,
pub ftol: f64,
pub xtol: f64,
pub gtol: f64,
pub max_nfev: usize,
pub initial_lambda: f64,
pub geodesic: bool,
pub geodesic_h: f64,
pub geodesic_alpha: f64,
pub bound_scaling: bool,
}Expand description
Tuning for a single Levenberg–Marquardt solve (covers LM, TRF and geodesic).
Fields§
§kind: StepKindLinear-algebra path for the step (pick via crate::select_regime).
ftol: f64Relative cost-decrease tolerance.
xtol: f64Relative step-size tolerance.
gtol: f64Gradient infinity-norm tolerance.
max_nfev: usizeMaximum residual evaluations.
initial_lambda: f64Initial Marquardt damping λ.
geodesic: boolEnable geodesic acceleration (Transtrum): augment the LM velocity step with a second-directional-derivative acceleration term. Faster on sloppy/degenerate surfaces (multi-peak) at ~1 extra residual eval/iter.
geodesic_h: f64Finite-difference step for the geodesic second directional derivative.
geodesic_alpha: f64Acceptance threshold for the acceleration: accept δ + ½a only when
‖Da‖ / ‖Dδ‖ ≤ α (mild curvature).
bound_scaling: boolEnable Coleman–Li bound scaling (Trust-Region-Reflective): fold the
problem’s trust_scaling into the
per-iteration damping so steps shrink as parameters approach active bounds.
Trait Implementations§
Source§impl Clone for StrategyConfig
impl Clone for StrategyConfig
Source§fn clone(&self) -> StrategyConfig
fn clone(&self) -> StrategyConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for StrategyConfig
Source§impl Debug for StrategyConfig
impl Debug for StrategyConfig
Auto Trait Implementations§
impl Freeze for StrategyConfig
impl RefUnwindSafe for StrategyConfig
impl Send for StrategyConfig
impl Sync for StrategyConfig
impl Unpin for StrategyConfig
impl UnsafeUnpin for StrategyConfig
impl UnwindSafe for StrategyConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
impl<T, U> Imply<T> for U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more