MParT

Monotone Parameterization Toolkit (MParT): A core library for constructing and using transport maps.
28 Downloads
Updated 27 Feb 2024
MParT: A Monotone Parameterization Toolkit
A CPU/GPU performance-portable library for parameterizing and constructing monotone functions in the context of measure transport and regression.
Documentation
See measuretransport.github.io/MParT/ for more extensive documentation.
Installation
MParT uses a C++ core that needs Kokkos and Eigen directly as dependencies and Catch2 as a test dependency. MParT uses CMake to handle dependencies and compiler configurations. A basic build of MParT that should work on most operating systems can be obtained by running this in the MParT folder:
mkdir build
cd build
cmake \
-DCMAKE_INSTALL_PREFIX=<your/MParT/install/path> \
-DKokkos_ENABLE_PTHREAD=ON \
-DKokkos_ENABLE_SERIAL=ON \
..
make install
Usage
Once MParT is installed a simple usage to create a monotone component from a custom multi-index set is:
% Add path to the MParT installation folder
addpath(genpath('<your/MParT/install/path>'))
% Set number of threads used by KoKKos
num_threads = 8;
KokkosInitialize(num_threads);
% Create multi-index set in 2D
multis = [0,1;2,0;1,1];
mset = MultiIndexSet(multis);
fixedSet = mset.Fix();
% Create monotone component
opts = MapOptions();
mapComponent = CreateComponent(fixedSet,opts);
% Set coefficients
nc = mapComponent.numCoeffs;
mapComponent.SetCoeffs(ones(1,nc));
% Evaluate map at 10 random points
mapComponent.Evaluate(randn(2,10));
Tutorials
Many tutorials and examples using MParT are available on the Matlab folder of the MParT-examples repo. Examples include:
  • Monotone regression
  • Density estimation
  • Bayesian inference
Running these examples will require the following matlab toolboxes:
  • Statistics and Machine Learning Toolbox
  • Optimization Toolbox

Cite As

MParT Development Team. [year]. MParT: A Monotone Parameterization Toolkit, https://measuretransport.github.io/MParT/[version]

MATLAB Release Compatibility
Created with R2021b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Version Published Release Notes
2.2.2

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.2.2

2.2.1

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.2.1

2.2.0.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.2.0

2.1.1

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.1.1

2.1.0.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.1.0

2.0.2

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.0.2

2.0.1.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.0.1

2.0.0.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v2.0.0

1.5.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v1.5.0

1.4.4.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v1.4.4

1.4.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v1.4.0

1.3.0.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v1.3.0

1.2.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v1.2.0

1.1.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/v1.1.0

1.0.0

See release notes for this release on GitHub: https://github.com/MeasureTransport/MParT/releases/tag/1.0.0

0.3.3

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.