Skip to main content

Crate minuit2

Crate minuit2 

Source
Expand description

minuit2 — Pure Rust port of CERN Minuit2 parameter optimization engine.

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
print
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_MINUIT2_COMMIT
Pinned ROOT commit for the baseline release tag.
REFERENCE_MINUIT2_REPOSITORY
Canonical C++ upstream repository for this port.
REFERENCE_MINUIT2_SUBTREE
Canonical C++ upstream subtree for Minuit2.
REFERENCE_MINUIT2_TAG
Target ROOT release baseline for functionality parity work.