Skip to content

QMCPy: A Quasi-Monte Carlo Community Software in Python 3

Photo of Ji Dong
Hosted By
Ji D. and Sou-Cheng T. C.
QMCPy: A Quasi-Monte Carlo Community Software in Python 3

Details

Abstract
Quasi-Monte Carlo (QMC) methods are used to approximate multivariate integrals or expectations of random variables with complex distributions. We have created a Python QMC framework, QMCPy (https://qmcsoftware.github.io/QMCSoftware), that has five main components: a discrete distribution, an integrand, its associated measure, stopping criterion, and summary output data. Information about the integrand is obtained as a sequence of values of the function sampled at the data sites generated by the discrete distribution. The function values are averaged with chosen weights as an estimate of the integral. The stopping criterion computes the error bounds of the QMC estimates and tells the algorithm when a user-specified error tolerance has been satisfied, or to increase the number of sampling points in the next iteration. QMCPy allows researchers and collaborators in the QMC community to develop plug-and-play modules in an effort to produce more efficient and portable QMC software and applications. Each of the aforementioned components is an abstract class, which specifies the common properties and methods of all subclasses. The principal ways in which the five kinds of classes interact with each other are also defined. 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. This is joint work with Fred Hickernell, Sou-Cheng Choi, Michael McCourt, and Jagadeeswaran Rathinavel.

Speaker Bio
Aleksei is a final-year student at Illinois Institute of Technology working towards a Bachelors in applied mathematics and Masters in data science. He has experience building mathematical software packages and data analysis tools in Python.

Join Zoom Meeting
https://zoom.us/j/94757811249?pwd=SXJ2QytoYVdkS3NMb0MyaXEzZXZwQT09

Meeting ID: 947 5781 1249
Passcode: 594329

Photo of PyData Chicago group
PyData Chicago
See more events