Skip to main content

MC++ Toolkit for Construction, Manipulation and Evaluation of Factorable Functions

MC++ provides a collection of classes to support the construction and manipulation of factorable functions and their evaluation using a range of arithmetics. It is primarily written in C++ to promote execution speed, while the module pyMC includes Python binders through pybind11.

Expression trees in MC++ can comprise any finite combination of unary and binary operations from a default library and are described by direct acyclic graphs (DAGs). MC++ also features a mechanism to extend DAGs with external operations, currently including affine and polynomial subexpressions as well as multi-layer perceptrons (MLP) and nested DAGs. Through the library CRONOS, MC++ can also be extended with systems of algebraic and differential equations. Expression trees generated with MC++ can be used by the library CANON for local and global numerical optimization; and the library MAGNUS for the development and analysis of mathematical models.

The present version 5.0 of MC++ has capability for:

  • Construction and differentiation of expression trees (both forward and reverse accumulation modes)
  • Recursive decomposition of factorable expressions into linear/polynomial subexpressions and transcendental operations
  • Specification of nested expression trees to enable tailored bounding strategies

The main bounding components in version 5.0 of MC++ include:

  • Interval arithmetic
  • Eigenvalue arithmetic
  • Ellipsoidal arithmetic
  • McCormick relaxations
  • Taylor and Chebyshev models
  • Polyhedral relaxations
  • Superposition relaxations

A range of python scripts and notebooks are provided in notebook subdirectory to illustrate these capabilities.


Setting up MC++

Refer to INSTALL.md for instructions.

Contacts


References

Metadata

Release files for pymcpp 5.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymcpp 5.0.1
File Size Uploaded Provenance Actions
pymcpp-5.0.1.tar.gz 8.3 MB With provenance Details for pymcpp-5.0.1.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pymcpp 5.0.1
File Actions
pymcpp-5.0.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for pymcpp-5.0.1-cp314-cp314-win_amd64.whl
pymcpp-5.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pymcpp-5.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pymcpp-5.0.1-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for pymcpp-5.0.1-cp314-cp314-macosx_14_0_arm64.whl
pymcpp-5.0.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pymcpp-5.0.1-cp313-cp313-win_amd64.whl
pymcpp-5.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pymcpp-5.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pymcpp-5.0.1-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for pymcpp-5.0.1-cp313-cp313-macosx_14_0_arm64.whl
pymcpp-5.0.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pymcpp-5.0.1-cp312-cp312-win_amd64.whl
pymcpp-5.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pymcpp-5.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pymcpp-5.0.1-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for pymcpp-5.0.1-cp312-cp312-macosx_14_0_arm64.whl
pymcpp-5.0.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pymcpp-5.0.1-cp311-cp311-win_amd64.whl
pymcpp-5.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pymcpp-5.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pymcpp-5.0.1-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for pymcpp-5.0.1-cp311-cp311-macosx_14_0_arm64.whl
pymcpp-5.0.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pymcpp-5.0.1-cp310-cp310-win_amd64.whl
pymcpp-5.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pymcpp-5.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pymcpp-5.0.1-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for pymcpp-5.0.1-cp310-cp310-macosx_14_0_arm64.whl

Total release size: 405.3 MB

Release files / pymcpp-5.0.1.tar.gz

Download URL pymcpp-5.0.1.tar.gz
Size 8.3 MB
Tags Source
SHA-256 checksum
How to use checksums
ec46276d5e6eb7c19a11a2466f4e71cbdbe2e8ff272a275e317de7e2d8e57453
BLAKE2b-256 checksum
How to use checksums
4198eb87337be567998640e9fec003a84917c32a4268b34098545c443f7b4d70
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp314-cp314-win_amd64.whl

Download URL pymcpp-5.0.1-cp314-cp314-win_amd64.whl
Size 17.4 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c2948d7960b5c7e1c7afe574820c9374d9ef23c162ec0f3a79090a9be08c0d18
BLAKE2b-256 checksum
How to use checksums
1a1326175ba534257a2a3f7453599b6318cc6ae1155fd9037bb226e47018fdf1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcpp-5.0.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.0 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b7a948ec12f067ce7911565ef380f9b30bcb46f096614b322b160714d4338a7c
BLAKE2b-256 checksum
How to use checksums
8c5e6a6577094983369bf2e5978eff357866f1e8e65b3918543c6abe1c0472a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp314-cp314-macosx_14_0_arm64.whl

Download URL pymcpp-5.0.1-cp314-cp314-macosx_14_0_arm64.whl
Size 15.3 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
9bbd2b3b0cb7954da2e6c815f6c9c599ba257261d06edd9d00dc1241a581e633
BLAKE2b-256 checksum
How to use checksums
b56208bb672b78effb85fb8d0f8b19d391a1be428ff04bfcfb0b341176339171
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp313-cp313-win_amd64.whl

Download URL pymcpp-5.0.1-cp313-cp313-win_amd64.whl
Size 17.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
10297b6b935874ce16e527134e590bc5ea360496e0604275a084986c867b4551
BLAKE2b-256 checksum
How to use checksums
dab427c2762b218fc93d8c563bed6473b48476226fb74a258a286e8741f2d349
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcpp-5.0.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.0 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2a218aa9367bccced924052674d0b568ef5f69fd4d7989b42148aabde7caa383
BLAKE2b-256 checksum
How to use checksums
4582261325e848afe608ddf89b646c03b5d81b8c6bdcf72a858553ada8ccb6ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp313-cp313-macosx_14_0_arm64.whl

Download URL pymcpp-5.0.1-cp313-cp313-macosx_14_0_arm64.whl
Size 15.3 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
c0ba3dd04cce1b10e6258cbc13aa59912efc1bd4246210a349d64e2984e3fb1b
BLAKE2b-256 checksum
How to use checksums
cb135eb4c5c12460d0503833ab61e59296e084acfc228dcfaca9903c3ef8a851
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp312-cp312-win_amd64.whl

Download URL pymcpp-5.0.1-cp312-cp312-win_amd64.whl
Size 17.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
0384c0544e5ea7138288a6b1f1fb97f8b16f4b8e9c18c221957d68b9820eb6b8
BLAKE2b-256 checksum
How to use checksums
9663682c4eaa7e25175576b05ab50f119e137c806047a1bde7c0c590208c5161
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcpp-5.0.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.0 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
faf2de68acbfaf6cda1b6450aa3ed91de3d7a46593a3e2bb993ebd94c7b9b38e
BLAKE2b-256 checksum
How to use checksums
748e861b17e55e12e3fd6346693763ec5928a3d220c93c787e1e7bbcac9bd9d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp312-cp312-macosx_14_0_arm64.whl

Download URL pymcpp-5.0.1-cp312-cp312-macosx_14_0_arm64.whl
Size 15.3 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
00884058a312b8e610fb778944ccc42329894518cbee91b8fd6e37fe7efd4e38
BLAKE2b-256 checksum
How to use checksums
d99a02e9e4acf115b6d44a82f5512656ea4ade92abc3835a0cd597e29590e5a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp311-cp311-win_amd64.whl

Download URL pymcpp-5.0.1-cp311-cp311-win_amd64.whl
Size 17.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
0a37346745251f89c79dba67a37d7a980fbfc1658919da40988bcc699a44a5c0
BLAKE2b-256 checksum
How to use checksums
ea9d7e6e87c10bdca248c3e50102283cb9736923faa46650ad620083c91a7156
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcpp-5.0.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.0 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
62785cf02a58bb58fe6c7c7fcad4ff3e6096236693c36970bbad7319a7768c85
BLAKE2b-256 checksum
How to use checksums
9701404869cf32789a5cc9bd0b58876f7038b4423a846a669d18d4559dbe0fc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp311-cp311-macosx_14_0_arm64.whl

Download URL pymcpp-5.0.1-cp311-cp311-macosx_14_0_arm64.whl
Size 15.3 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f89b97ecdf9880d1be4199d4ca6d177cb158513da933c30b6010108aa60f8633
BLAKE2b-256 checksum
How to use checksums
5a6cfb420ed310af7c71e879672776938a8069e73c699db72617596fa8696888
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp310-cp310-win_amd64.whl

Download URL pymcpp-5.0.1-cp310-cp310-win_amd64.whl
Size 17.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
8ddf52af4d904d32b897bac759b5c7590dff94b1e3664e2413d310e34fae0ae0
BLAKE2b-256 checksum
How to use checksums
cacbaf0cc1223c71dcd6778303d920722e33ac81accf214f53ce82e5cf57da29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pymcpp-5.0.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.0 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4ddd12e187ab979133184810296d79bec8245431bb22461c457c1c27bb0ddd86
BLAKE2b-256 checksum
How to use checksums
6e0693a36ea620af223ddacf415f2e6d58197b362762eefcd7b2fbf0456d4bb5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Release files / pymcpp-5.0.1-cp310-cp310-macosx_14_0_arm64.whl

Download URL pymcpp-5.0.1-cp310-cp310-macosx_14_0_arm64.whl
Size 15.3 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
29eb3b875bcb4b1b4b446945697c5930fcd19855f05e50b5d781e47d1d86866d
BLAKE2b-256 checksum
How to use checksums
709a76ecc95905a1cef6573d2e784829cbb42379ba03a0bda594260740d6e860
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

Security for pymcpp 5.0.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for pymcpp-5.0.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page