Skip to main content

Quasi-Monte Carlo point generators, automatic transformations, and adaptive stopping criteria

Project description

QMCPy: Quasi-Monte Carlo Community Software in Python

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

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 following work, which is also available as a QMCPy BibTex citation

Sou-Cheng T. Choi, Fred J. Hickernell, Michael McCourt, Jagadeeswaran Rathinavel, 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.

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.

Project details


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.2.tar.gz (2.6 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.2-cp39-cp39-macosx_14_0_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9macOS 14.0+ x86-64

File details

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

File metadata

  • Download URL: qmcpy-2.2.tar.gz
  • Upload date:
  • Size: 2.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.26.2 CPython/3.14.0 Darwin/23.6.0

File hashes

Hashes for qmcpy-2.2.tar.gz
Algorithm Hash digest
SHA256 80c6aa6c06ef2726858db76c3b794d6d0bde09c44d5eb5a33ebb2a31e6a0b783
MD5 ba8476713ef8b398255708328bbada5e
BLAKE2b-256 9452f3e6b0d6aea24793391d3801012a8920200bc2bbdcf8e7af334391e5886d

See more details on using hashes here.

File details

Details for the file qmcpy-2.2-cp39-cp39-macosx_14_0_x86_64.whl.

File metadata

  • Download URL: qmcpy-2.2-cp39-cp39-macosx_14_0_x86_64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.9, macOS 14.0+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: pdm/2.26.2 CPython/3.14.0 Darwin/23.6.0

File hashes

Hashes for qmcpy-2.2-cp39-cp39-macosx_14_0_x86_64.whl
Algorithm Hash digest
SHA256 83ac7be7ea144c846f42ee9c7c439adfd9d123333f5c5065e259f0c1f674b39d
MD5 a5ca48a963bf30b72838fa9b1f585412
BLAKE2b-256 d5e64e3c45191afdf22b842b57c767fc0723298ad1b74e58314553a04c31502f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page