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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide