Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SURE 2023 Kickoff

SURE 2023 Kickoff

Avatar for Fred J. Hickernell

Fred J. Hickernell

May 22, 2023
Tweet

More Decks by Fred J. Hickernell

Other Decks in Education

Transcript

  1. SUREly Speedy Simulations Sou-Cheng Choi and Fred J. Hickernell Illinois

    Institute of Technology Dept Applied Math Ctr Interdisc Scientific Comput SAS Office of Research [email protected] [email protected] sites.google.com/iit.edu/fred-j-hickernell Looking forward to working with you this summer Slides at speakerdeck.com/fjhickernell/sure-kickoff-2023-may-22-talk and www.overleaf.com/9233123434vvgphqsccgfc Jupyter notebook with computations and figures here Visit us at qmcpy.org SURE Kickoff, revised Monday 22nd May, 2023
  2. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Uncertainty

    in a Cantilevered Beam1 u(x) = g(Z, x) = beam deflection = solution of a differential equation boundary value problem x = position Z ∼ U[1, 1.2]3 defines uncertainty in Young’s modulus = the randomness in the problem µ(x) = expected or mean value of the beam deflection = E[g(Z, x)] = [0,1]3 g(z, x) dz ≈ 1 n n i=1 g(Zi , x) sample mean or Monte Carlo estimate µ(end) = 1037 How to choose Z1 , Z2 , . . .? 1M. Parno and L. Seelinger (2022). Uncertainty propagation of material properties of a cantilevered beam. url: https://um-bridge-benchmarks.readthedocs.io/en/docs/forward-benchmarks/muq-beam-propagation.html. 2/10
  3. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Simple

    vs. Quasi-Monte Carlo for the Cantilevered Beam via QMCPy2 g(Z, x) = beam deflection from DE solver Z ∼ U[1, 1.2]3 defines uncertainty x = position µ(x) = E[g(Z, x)] ≈ 1 n n i=1 g(Zi , x) Monte Carlo estimate µ(end) = 1037 10−2 10−1 100 101 102 Tolerance, ε sec min hr Time (s) Lattice (ε−1) IID (ε−2) 10−2 10−1 100 101 102 Tolerance, ε 102 103 104 105 106 n Lattice (ε−1) IID (ε−2) 0 10 20 30 Position 0 250 500 750 1000 Mean Deflection Cantilevered Beam 2S.-C. T. Choi, F. J. H., et al. (2023). QMCPy: A quasi-Monte Carlo Python Library (versions 1–1.4). doi: 10.5281/zenodo.3964489. url: https://qmcsoftware.github.io/QMCSoftware/. 3/10
  4. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Simple

    vs. Quasi-Monte Carlo for the Cantilevered Beam via QMCPy2 g(Z, x) = beam deflection from DE solver µ(x) = E[g(Z, x)] ≈ 1 n n i=1 g(Zi , x) Monte Carlo estimate µ(end) = 1037 10−2 10−1 100 Tolerance, ε sec min Time (s) Lattice (ε−1) Lattice Parallel (ε−1) 10−2 10−1 100 Tolerance, ε 101 102 103 104 105 106 n Lattice (ε−1) Lattice Parallel (ε−1) 0 10 20 30 Position 0 250 500 750 1000 Mean Deflection Cantilevered Beam 2S.-C. T. Choi, F. J. H., et al. (2023). QMCPy: A quasi-Monte Carlo Python Library (versions 1–1.4). doi: 10.5281/zenodo.3964489. url: https://qmcsoftware.github.io/QMCSoftware/. 3/10
  5. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Simple

    or Independent and Identically Distributed (IID) Monte Carlo 0 1 xi,1 0 1 xi,2 n = 64 0 1 xi,1 0 1 xi,2 n = 128 0 1 xi,1 0 1 xi,2 n = 256 0 1 xi,1 0 1 xi,2 n = 512 IID Points Gaps and clusters, uneven 4/10
  6. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Low

    Discrepancy Points Fill Space More Evenly Than IID Points 0 1 xi,1 0 1 xi,2 n = 64 0 1 xi,1 0 1 xi,2 n = 128 0 1 xi,1 0 1 xi,2 n = 256 0 1 xi,1 0 1 xi,2 n = 512 Lattice Points 0 1 xi,1 0 1 xi,2 n = 64 0 1 xi,1 0 1 xi,2 n = 128 0 1 xi,1 0 1 xi,2 n = 256 0 1 xi,1 0 1 xi,2 n = 512 Sobol’ Points 5/10
  7. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Low

    Discrepancy Points Look “Good” in All Coordinate Projections 0 1 xi,1 0 1 xi,2 0 1 xi,2 0 1 xi,3 0 1 xi,5 0 1 xi,11 0 1 xi,14 0 1 xi,15 Projections of Lattice Points 0 1 xi,1 0 1 xi,2 0 1 xi,2 0 1 xi,3 0 1 xi,5 0 1 xi,11 0 1 xi,14 0 1 xi,15 Projections of Sobol’ Points 6/10
  8. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Low

    Discrepancy Points Can Be Randomized 0 1 xi,1 0 1 xi,2 0 1 xi,1 0 1 xi,2 0 1 xi,1 0 1 xi,2 0 1 xi,1 0 1 xi,2 Randomized Lattice Points 0 1 xi,1 0 1 xi,2 0 1 xi,1 0 1 xi,2 0 1 xi,1 0 1 xi,2 0 1 xi,1 0 1 xi,2 Randomized Sobol’ Points 7/10
  9. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Research

    Problems for Your Consideration Explore quasi-Monte Carlo aka low discrepancy sampling performance using QMCPy on other uncertainty quantification problems in the UM-Bridge suite3 Link QMCPy with popular finite element solver FEniCSx 4 Implement quasi-Monte Carlo Gaussian random fields (in Julia) github.com/PieterjanRobbe/GaussianRandomFields.jl in QMCPy Environment, Sustainability, and Government (ESG) investing using QMC ▶ comparing Sharpe ratio or other ratios (e.g., Traynor ratio) in Markowitz asset allocation model ▶ incorporating backtest and comparing to benchmark returns e.g., S&P500 ▶ parallelization — important when choosing from a large pool of candidate assets (Big) data compression with QMC and deep learning5 3A. Davis, M. Parno, A. Reinarz, and L. Seelinger (2022). UQ and Model Bridge (UM-Bridge). url: https://um-bridge-benchmarks.readthedocs.io/en/docs/. 4M. E. Rognes A. Logg K. B. Ølgaard and G. N. Wells (2012). “FFC: the FEniCS Form Compiler”. In: Automated Solution of Differential Equations by the Finite Element Method. Ed. by K.-A. Mardal A. Logg and G. N. Wells. Vol. 84. Lecture Notes in Computational Science and Engineering. Springer. Chap. 11. 5J. Dick and M. Feischl (2021). “A quasi-Monte Carlo data compression algorithm for machine learning”. In: J. Complexity 67, p. 101587. issn: 0885-064X. doi: https://doi.org/10.1016/j.jco.2021.101587. url: https://www.sciencedirect.com/science/article/pii/S0885064X2100042X. 8/10
  10. Why Quasi-Monte Carlo Is Faster Problems Next Steps References Dip

    Your Toes in All actions can be undone. These actions only need to be done once. 1 Go to qmcpy.org , where we introduce and explain our QMCPy library a Read the blog Why Add Q to MC? b Select the menu item GitHub to go to the GitHub repository for QMCPy 2 The QMCPy GitHub software, documentation, and demos reside at the QMCPy GitHub repository a Create a GitHub account if you do not have one b Optional: you may wish to install a GitHub desktop client like this or that c Scroll down to the README d Click on the Contributing 3 To contribute to QMCPy you need to set up your environment. While at Contributing a Open a terminal and set up your programming environment following the instructions. b Install Visual Studio Code or your favorite integrated development environment (IDE) c In your environment run pip install jupyterlab d Move to the SURE2023 branch of QMCPY by typing git checkout SURE2023 e Type jupyter-lab to start Jupyter Lab f Run the notebook used to make the figures for these slides 4 Join our Speedy Simulations Slack workspace here 9/10
  11. Why Quasi-Monte Carlo Is Faster Problems Next Steps References References

    A. Logg K. B. Ølgaard, M. E. Rognes and G. N. Wells (2012). “FFC: the FEniCS Form Compiler”. In: Automated Solution of Differential Equations by the Finite Element Method. Ed. by K.-A. Mardal A. Logg and G. N. Wells. Vol. 84. Lecture Notes in Computational Science and Engineering. Springer. Chap. 11. Choi, S.-C. T. et al. (2023). QMCPy: A quasi-Monte Carlo Python Library (versions 1–1.4). doi: 10.5281/zenodo.3964489. url: https://qmcsoftware.github.io/QMCSoftware/. Davis, A. et al. (2022). UQ and Model Bridge (UM-Bridge). url: https://um-bridge-benchmarks.readthedocs.io/en/docs/. Dick, J. and M. Feischl (2021). “A quasi-Monte Carlo data compression algorithm for machine learning”. In: J. Complexity 67, p. 101587. issn: 0885-064X. doi: https://doi.org/10.1016/j.jco.2021.101587. url: https://www.sciencedirect.com/science/article/pii/S0885064X2100042X. Parno, M. and L. Seelinger (2022). Uncertainty propagation of material properties of a cantilevered beam. url: https://um-bridge-benchmarks.readthedocs.io/en/docs/forward- benchmarks/muq-beam-propagation.html. 10/10