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.2

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.2
File Size Uploaded Provenance Actions
pymcpp-5.0.2.tar.gz 8.3 MB With provenance Details for pymcpp-5.0.2.tar.gz

Built distributions (wheels)

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

Total release size: 408.0 MB

Release files / pymcpp-5.0.2.tar.gz

Download URL pymcpp-5.0.2.tar.gz
Size 8.3 MB
Tags Source
SHA-256 checksum
How to use checksums
72009825c2f4a6df2a3961816cdd69b69a35df7da1809c199edd5d0162387720
BLAKE2b-256 checksum
How to use checksums
80a58a95b7a10db6c4864032003ca9267ba43274d2251568afee24083c464379
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp314-cp314-win_amd64.whl
Size 17.6 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
709b169aeab623a9f39b4b5c7b311a2e340ae65a965d79aef6990f1755d4f6e2
BLAKE2b-256 checksum
How to use checksums
531d44669d887ab0200342d9679bf046999f5e01da42cd88ff202547a2a9a372
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.1 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
54111b5919f623b9c014b3c08a6b6510763e8c3fc1120dfee25b09826b1f0b27
BLAKE2b-256 checksum
How to use checksums
2df4c07994726a522f55cde5ba2b37225f56a70ef05e079f5ae9d3ddbc959281
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp314-cp314-macosx_14_0_arm64.whl
Size 15.4 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
4e51ad430ca9111edfe49e376b6b80d65c28806a60fdcd4e84de7f2dadb774ed
BLAKE2b-256 checksum
How to use checksums
69f1cbe69f3fecec9b6250203d27979a712cc2c9cbf65ae1f50428b562b0a9f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp313-cp313-win_amd64.whl
Size 17.2 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
2a4d40d0b7a8cec195e6e2d7b9c2b91b4bba43790d15b6af349c04678e60abb6
BLAKE2b-256 checksum
How to use checksums
29a943f7690d0e10465602c5dad321da62181563a6fb8091abdd9349c5cb46ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.1 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
11a312281fc6d8fb6672444e0b84efaf25079bffadd89b96400d20a5bb287a06
BLAKE2b-256 checksum
How to use checksums
e7e69914ea82e87188daa7fbc28f4f509c4f67804f34d551c29fda96a42cb06b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp313-cp313-macosx_14_0_arm64.whl
Size 15.4 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
309183bcfb1b75bb4666021996004d96f96081d93a7d43c47abaee140ade17cd
BLAKE2b-256 checksum
How to use checksums
abff7f956018d907113063bd9d6a26c8deddec1baf67ae1103e9d7b19f100e99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp312-cp312-win_amd64.whl
Size 17.1 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
d633a372f756b7bb36d33974f12971324fdc2cd00aea82f85a95ba93ba87e5be
BLAKE2b-256 checksum
How to use checksums
b6c13731f0a6427fbde35b2722a39924d52331604645efec9c968889f7d7539a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.1 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eca8fc6a23490d917626d97019d77ddbec8595d609a92a46b98082e394594ace
BLAKE2b-256 checksum
How to use checksums
7f02624717ca0d02174060a2ef9a60a354ccdb388b3f4c87bdf37eb731a0b1ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp312-cp312-macosx_14_0_arm64.whl
Size 15.4 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
a9f60be671e711a73c24984756246b7f74b30b47c22c1f1153f5a6f0f6c73ef7
BLAKE2b-256 checksum
How to use checksums
338fbaead2d7558b1d1ea7e30abe0e06e298159e37b7df2dc4abedb03ae5633a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp311-cp311-win_amd64.whl
Size 17.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
d616d3dc20611cac3c794610b753d26293260d3216b81d01ef0815a7d6ece8fc
BLAKE2b-256 checksum
How to use checksums
8493904954b317c68995cd27dadf27dda07e7d99ba13156c998e8bd9c7c57d0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.2 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c6c8d300b2315758026ac1d99c0d8b57ca6f3f3c93a7f733dfdf91c93e1f750d
BLAKE2b-256 checksum
How to use checksums
74f336ba1962c37422efcb06c4120ccc2188a4591f5c72d274baf6e910ab0c72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp311-cp311-macosx_14_0_arm64.whl
Size 15.4 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
c9944f41782a72b1ea4fbc6a5b4c1c8b82fdd6c5d28c125658001a3c15f53137
BLAKE2b-256 checksum
How to use checksums
11c6ac3b5067be8fe3671e75db00605bffd240a0d29689b4dcce95ee15819f6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp310-cp310-win_amd64.whl
Size 17.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
9e00e5ca9e401689c0dd3b831962c22b89fe2d026a4dce102f2a9208328fb631
BLAKE2b-256 checksum
How to use checksums
ed499159c07a3089ffa2479134ec9922d1f579cc2d12ff023e0ad254c367c0c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 47.2 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1faec56210dcd8f94d8217294852649e10d47a76ec6ae6c7d867f7cffeab6102
BLAKE2b-256 checksum
How to use checksums
1aa05beffc857fb0da4b968224790b41916ca23bba3b5f3a76e805414f39a029
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

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

Download URL pymcpp-5.0.2-cp310-cp310-macosx_14_0_arm64.whl
Size 15.4 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
8966efb9379c2a07641a9a5328790665b3a8e3a3f66e689eeb452d43163e4e31
BLAKE2b-256 checksum
How to use checksums
767ba67c08078ff0a5e6ab3fbf7e4cd6a89e65255b7c7bee367d15798907632e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.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 Aug 1, 2026.

Transparency log

Security for pymcpp 5.0.2

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.2.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 Aug 1, 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