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

SURE 2023 Kickoff

SURE 2023 Kickoff

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