Skip to main content

QMCPy: Quasi-Monte Carlo Community Software in Python

Docs DOI DOI GitHub stars Tests codecov on Unit Tests codecov on All Tests PEP8 score

Quasi-Monte Carlo (QMC) methods are used to approximate multivariate integrals. They have four main components: a discrete distribution, a true measure of randomness, an integrand, and a stopping criterion. Information about the integrand is obtained as a sequence of values of the function sampled at the data-sites of the discrete distribution. The stopping criterion tells the algorithm when the user-specified error tolerance has been satisfied. We are developing a framework that allows collaborators in the QMC community to develop plug-and-play modules in an effort to produce more efficient and portable QMC software. Each of the above four components is an abstract class. Abstract classes specify the common properties and methods of all subclasses. The ways in which the four kinds of classes interact with each other are also specified. Subclasses then flesh out different integrands, sampling schemes, and stopping criteria. Besides providing developers a way to link their new ideas with those implemented by the rest of the QMC community, we also aim to provide practitioners with state-of-the-art QMC software for their applications.

Resources

The QMCPy documentation contains a detailed package reference documenting functions and classes including thorough doctests. A number of example notebook demos are also rendered into the documentation from QMCSoftware/demos/. We recommend the following resources to start learning more about QMCPy

Installation

pip install qmcpy

To install from source, please see the contributing guidelines.

Citation

If you find QMCPy helpful in your work, please support us by citing the JOSS paper and QMCPy software below, which are also available as BibTex citations:

Aleksei G. Sorokin, Fred J. Hickernell, Sou-Cheng T. Choi, Jagadeeswaran Rathinavel, Pieterjan Robbe, and Aadit Jain,
QMCPy: A Python Framework for (Quasi-)Monte Carlo Algorithms.
Journal of Open Source Software, 11(117), 9705, 2026.
https://doi.org/10.21105/joss.09705
Sou-Cheng T. Choi, Fred J. Hickernell, Aadit Jain, Jagadeeswaran Rathinavel, Pieterjan Robbe, and Aleksei G. Sorokin,
QMCPy: A Quasi-Monte Carlo Python Library. 2026.
https://qmcsoftware.github.io/QMCSoftware/

We maintain a list of publications on the development and use of QMCPy as well as a list of select references upon which QMCPy was built.

Package usage stats

PyPI download statistics are tracked automatically in stats/pypi_downloads.md (in the pypi-stats branch).

Other quasi-Monte Carlo software

A page listing other QMC software is available in this branch at docs/qmc-software.md.

The page content is generated automatically from data/qmc-software.yml.

Development

Want to contribute to QMCPy? Please see our guidelines for contributors which includes instructions on installation for developers, running tests, and compiling documentation.

This software would not be possible without the efforts of the QMCPy community including our steering council, collaborators, contributors, and sponsors.

QMCPy is distributed under an Apache 2.0 license from the Illinois Institute of Technology.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qmcpy-2.4.tar.gz (2.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qmcpy-2.4-cp313-cp313-manylinux_2_39_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

File details

Details for the file qmcpy-2.4.tar.gz.

File metadata

  • Download URL: qmcpy-2.4.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.28.1 CPython/3.13.14 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for qmcpy-2.4.tar.gz
Algorithm Hash digest
SHA256 260de6f2c9766476b03283a08b829abec752b939d8546dd0d1b14d13646c7791
MD5 25b78229a495a7b23134a3ec96ddc27d
BLAKE2b-256 62b68fd9a37d760f86c02cf23926dcf39a18c222a12a8e4516c8f0cc875454e8

See more details on using hashes here.

File details

Details for the file qmcpy-2.4-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

  • Download URL: qmcpy-2.4-cp313-cp313-manylinux_2_39_x86_64.whl
  • Upload date:
  • Size: 3.0 MB
  • Tags: CPython 3.13, manylinux: glibc 2.39+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.28.1 CPython/3.13.14 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for qmcpy-2.4-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 f1c1d2b664ae7a288a813d3c7d8e56f24f8cb6945c1704ed00b042960b15428e
MD5 bb456a84974f1e017538397ed2d138ba
BLAKE2b-256 c3c18ca046b0e126768e5f38c3a08492696b10340ac32b4e74f4e4fbb8448dae

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.4 This release

2 files

2.3

2 files

2.2

2 files

2.1

2 files

2.0

2 files

1.6.2.1

1 file

1.6.2

1 file

1.6.1

1 file

1.5

1 file

1.4.5

1 file

1.4.4

1 file

1.4.2

1 file

1.4

1 file

1.3.3.1

1 file

1.3.2

1 file

1.3.1

1 file

1.3

1 file

1.2

1 file

1.0

1 file

0.7

1 file

0.6

1 file

0.4

1 file

0.2

1 file

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