A Generic C++ Library for Multilevel Quasi-Monte Carlo

We present a high-performance framework for single- and multilevel quasi-Monte Carlo methods applicable to a large class of problems in uncertainty quantification. A typical application of interest is the approximation of expectations of quantities depending on solutions to e.g. partial differential equations with uncertain inputs, often yielding integrals over high-dimensional spaces. The goal of the software presented in this paper is to allow recently developed quasi-Monte Carlo (QMC) methods with high, dimension-independent orders of convergence to be combined with a multilevel approach and applied to large problems in a generic way, easing distributed memory parallel implementation. The well-known multilevel Monte Carlo method is also supported as a particular case, and some standard choices of distributions are included. For so-called interlaced polynomial lattice rules, a recently developed QMC method, precomputed generating vectors are required; some such vectors are provided for common cases. After a theoretical introduction, the implementation is briefly explained and a user guide is given to aid in applying the framework to a concrete problem. We give two examples: a simple model problem designed to illustrate the mathematical concepts as well as the advantages of the multilevel method, including a measured decrease in computational work of multiple orders of magnitude for engineering accuracy, and a larger problem that exploits high-performance computing to show excellent parallel scaling. Some concrete use cases and applications are mentioned, including uncertainty quantification of partial differential equation models, and the approximation of solutions of corresponding Bayesian inverse problems. This software framework easily admits modifications; custom features like schedulers and load balancers can be implemented without hassle, and the code documentation includes relevant details.

[1]  Jonas Sukys,et al.  Static Load Balancing for Multi-level Monte Carlo Finite Volume Solvers , 2011, PPAM.

[2]  Christoph Schwab,et al.  Computational Higher Order Quasi-Monte Carlo Integration , 2014, MCQMC.

[3]  Michael B. Giles,et al.  Multilevel quasi-Monte Carlo path simulation , 2009 .

[4]  P. Bickel,et al.  Sharp failure rates for the bootstrap particle filter in high dimensions , 2008, 0805.3287.

[5]  Josef Dick,et al.  Higher Order Quasi-Monte Carlo Integration for Holomorphic, Parametric Operator Equations , 2014, SIAM/ASA J. Uncertain. Quantification.

[6]  Josef Dick,et al.  Construction of Interlaced Scrambled Polynomial Lattice Rules of Arbitrary High Order , 2013, Found. Comput. Math..

[7]  Albert Cohen,et al.  Breaking the curse of dimensionality in sparse polynomial approximation of parametric PDEs , 2015 .

[8]  G. Leobacher,et al.  Introduction to Quasi-Monte Carlo Integration and Applications , 2014 .

[9]  Frances Y. Kuo,et al.  High-dimensional integration: The quasi-Monte Carlo way*† , 2013, Acta Numerica.

[10]  F. Pillichshammer,et al.  Discrepancy Theory and Quasi-Monte Carlo Integration , 2014 .

[11]  Michael B. Giles Multilevel Monte Carlo methods , 2015, Acta Numerica.

[12]  A. Beskos,et al.  Multilevel sequential Monte Carlo samplers , 2015, 1503.07259.

[13]  C. Schwab,et al.  Higher Order Quasi Monte-Carlo Integration in Uncertainty Quantification , 2014, 1409.7970.

[14]  F. Pillichshammer,et al.  Digital Nets and Sequences: Discrepancy Theory and Quasi-Monte Carlo Integration , 2010 .

[15]  Andrea Barth,et al.  Multi-level Monte Carlo Finite Element method for elliptic PDEs with stochastic coefficients , 2011, Numerische Mathematik.

[16]  Christoph Schwab,et al.  Karhunen-Loève approximation of random fields by generalized fast multipole methods , 2006, J. Comput. Phys..

[17]  C. Lemieux Monte Carlo and Quasi-Monte Carlo Sampling , 2009 .

[18]  Andrew M. Stuart,et al.  Inverse problems: A Bayesian perspective , 2010, Acta Numerica.

[19]  Torsten Hoefler,et al.  Scientific Benchmarking of Parallel Computing Systems Twelve ways to tell the masses when reporting performance results , 2017 .

[20]  Christoph Schwab,et al.  Binned Multilevel Monte Carlo for Bayesian Inverse Problems with Large Data , 2016 .

[21]  W. Schachermayer,et al.  Multilevel quasi-Monte Carlo path simulation , 2009 .

[22]  Andrew M. Stuart,et al.  Complexity analysis of accelerated MCMC methods for Bayesian inversion , 2012, 1207.2411.

[23]  J. Sukys Adaptive Load Balancing for Massively Parallel Multi-Level Monte Carlo Solvers , 2013, PPAM.

[24]  Andrea Barth,et al.  Multilevel Monte Carlo method for parabolic stochastic partial differential equations , 2012 .

[25]  Michael B. Giles,et al.  Multilevel Monte Carlo Path Simulation , 2008, Oper. Res..

[26]  Josef Dick,et al.  Higher order Quasi-Monte Carlo integration for Bayesian Estimation , 2016, 1602.07363.

[27]  T. J. Dodwell,et al.  A Hierarchical Multilevel Markov Chain Monte Carlo Algorithm with Applications to Uncertainty Quantification in Subsurface Flow , 2013, SIAM/ASA J. Uncertain. Quantification.

[28]  Frances Y. Kuo,et al.  Higher Order QMC Petrov-Galerkin Discretization for Affine Parametric Operator Equations with Random Field Inputs , 2014, SIAM J. Numer. Anal..

[29]  Dirk Nuyens,et al.  Fast Component-by-Component Construction, a Reprise for Different Kernels , 2006 .

[30]  C. Schwab,et al.  Sparsity in Bayesian inversion of parametric operator equations , 2013 .

[31]  Desmond J. Higham,et al.  Multilevel Monte Carlo for Continuous Time Markov Chains, with Applications in Biochemical Kinetics , 2011, Multiscale Model. Simul..

[32]  P. Arbenz,et al.  Multilevel Monte Carlo for the Feynman–Kac formula for the Laplace equation , 2014, 1401.3891.

[33]  Claude Jeffrey Gittelson,et al.  Sparse tensor discretizations of high-dimensional parametric and stochastic PDEs* , 2011, Acta Numerica.

[34]  Dirk Nuyens,et al.  Fast algorithms for component-by-component construction of rank-1 lattice rules in shift-invariant reproducing kernel Hilbert spaces , 2006, Math. Comput..

[35]  Christiane Lemieux,et al.  Using Quasi–Monte Carlo in Practice , 2009 .

[36]  Frances Y. Kuo,et al.  Application of Quasi-Monte Carlo Methods to Elliptic PDEs with Random Diffusion Coefficients: A Survey of Analysis and Implementation , 2016, Foundations of Computational Mathematics.

[37]  Peter Arbenz,et al.  Intrinsic fault tolerance of multilevel Monte Carlo methods , 2015, J. Parallel Distributed Comput..

[38]  Harald Niederreiter,et al.  Random number generation and Quasi-Monte Carlo methods , 1992, CBMS-NSF regional conference series in applied mathematics.

[39]  I. T. Jolliffe,et al.  Springer series in statistics , 1986 .

[40]  James A. Nichols,et al.  Quasi-Monte Carlo finite element methods for elliptic PDEs with lognormal random coefficients , 2015, Numerische Mathematik.

[41]  James A. Nichols,et al.  Fast CBC construction of randomly shifted lattice rules achieving O(n-1+δ) convergence for unbounded integrands over R5 in weighted spaces with POD weights , 2014, J. Complex..

[42]  Josef Dick,et al.  Multi-level higher order QMC Galerkin discretization for affine parametric operator equations , 2014, 1406.4432.