# Introduction¶

Multi Model Monte Carlo with Python (`MXMCPy`

) is a software package developed as a general capability for computing the statistics of outputs from an expensive, high-fidelity model by leveraging faster, low-fidelity models for speedup. Several existing methods are currently implemented, including multi-level Monte Carlo (MLMC) [1], multi-fidelity Monte Carlo (MFMC) [2], and approximate control variates (ACV) [3, 4]. Given a fixed computational budget and a collection of models with varying cost/accuracy, `MXMCPy`

will determine an sample allocation strategy across the models that results in an estimator with optimal variance reduction using any of the available algorithms.

With `MXMCPy`

, users can easily compare existing methods to determine the best choice for their particular problem, while developers have a basis for implementing and sharing new variance reduction approaches. See the remainder of the documentation for more details of using the code. For additional information, see the report that accompanied the release of `MXMCPy`

[5].