Expand description
minuit2 — Pure Rust port of CERN Minuit2 parameter optimization engine.
§Quick Start — Migrad (recommended)
use minuit2::MnMigrad;
let result = MnMigrad::new()
.add("x", 0.0, 0.1)
.add("y", 0.0, 0.1)
.minimize(&|p: &[f64]| {
(1.0 - p[0]).powi(2) + 100.0 * (p[1] - p[0] * p[0]).powi(2)
});
println!("{result}");§Simplex (derivative-free)
use minuit2::MnSimplex;
let result = MnSimplex::new()
.add("x", 0.0, 0.1)
.add("y", 0.0, 0.1)
.minimize(&|p: &[f64]| {
(1.0 - p[0]).powi(2) + 100.0 * (p[1] - p[0] * p[0]).powi(2)
});
println!("{result}");Re-exports§
pub use contours::MnContours;pub use fcn::FCN;pub use fcn::FCNGradient;pub use hesse::MnHesse;pub use migrad::MnMigrad;pub use minimize::MnMinimize;pub use minimum::FunctionMinimum;pub use minos::MnMinos;pub use parameter::MinuitParameter;pub use precision::MnMachinePrecision;pub use scan::MnScan;pub use simplex::MnSimplex;pub use strategy::MnStrategy;pub use user_covariance::MnUserCovariance;pub use user_parameter_state::MnUserParameterState;pub use user_parameters::MnUserParameters;pub use user_transformation::MnUserTransformation;
Modules§
- application
- Shared minimization logic: default maxfcn calculation.
- contours
- MnContours: 2D confidence contours.
- covariance_
squeeze - Remove a parameter from a covariance/Hessian matrix.
- fcn
- global_
cc - Global correlation coefficients from a covariance matrix.
- gradient
- Gradient calculators.
- hesse
- MnHesse: accurate error analysis via full Hessian computation.
- linesearch
- Parabolic line search along a step direction.
- migrad
- Public Migrad (variable-metric) minimizer API.
- minimize
- Public Minimize minimizer API (hybrid Simplex + Migrad).
- minimum
- Top-level minimization result.
- minos
- MnMinos: asymmetric profile-likelihood errors.
- mn_fcn
- Call-counting FCN wrapper that operates in internal parameter space.
- parabola
- Quadratic parabola utilities for line search.
- parameter
- posdef
- Force a symmetric matrix to be positive-definite.
- precision
- Display implementations for minimization results.
- scan
- MnScan / MnParameterScan: 1D parameter scan.
- simplex
- Public Simplex minimizer API.
- strategy
- transform
- Parameter transformations between external (user) and internal (optimizer) spaces.
- user_
covariance - user_
parameter_ state - Complete parameter state: parameters + function value + EDM + nfcn + covariance.
- user_
parameters - High-level parameter collection with name-based lookup.
- user_
transformation - External / internal parameter mapping.
Constants§
- REFERENCE_
MINUI T2_ COMMIT - Pinned ROOT commit for the baseline release tag.
- REFERENCE_
MINUI T2_ REPOSITORY - Canonical C++ upstream repository for this port.
- REFERENCE_
MINUI T2_ SUBTREE - Canonical C++ upstream subtree for Minuit2.
- REFERENCE_
MINUI T2_ TAG - Target ROOT release baseline for functionality parity work.