PyApprox
  • Home
  • Tutorials
  • Topics
    • Tutorial Index
    • Forward UQ
    • Multifidelity Estimation
    • Inverse UQ
    • Experimental Design
    • Surrogate Modeling
    • Sensitivity Analysis

PyApprox | Faster, Defensible Delivery via Simulation & Data

Open-source Python toolkit for reliable, simulation- and data-driven engineering under uncertainty. Surrogate modeling, sensitivity analysis, Bayesian inference, and optimal experimental design. 80+ tutorials.

Open-Source Python Toolkit

Accelerating Reliable Delivery Through Simulation and Data — Under Uncertainty

Predictions you can defend. Delivered faster.

Pushing performance while guaranteeing reliability demands expensive simulations and observational data. PyApprox gives engineers and scientists the mathematical tools to quantify uncertainty, focus resources where they matter most, and close the gap between ambitious targets and defensible results — faster.

80+ Tutorials

11 Topics

2 Backends

Get Started Browse Tutorials GitHub

Where Simulation Meets Reality

Many engineering domains have expensive simulations, uncertain parameters, and high-stakes decisions. PyApprox provides a unified mathematical framework to tackle them all.

Energy Systems

Reactor safety margins and grid reliability

Precision Manufacturing

Model calibration, stress prediction, and process optimization

Aerospace

Vehicle reliability and mission-critical predictions

Energy & Subsurface

Reservoir characterization, geothermal resource assessment, and subsurface uncertainty

Heavy Industry

Equipment fatigue prediction and operational risk

Robotics & Autonomous Systems

Digital twin calibration, sensor fusion, and sim-to-real transfer

Aerothermal

Surrogate-accelerated CFD for aerothermal and reentry simulations

Earth Science

Ice-sheet projections and national security impact assessment

What PyApprox Does

Accelerate design, certification, and delivery — with the confidence that comes from quantifying uncertainty.

⟶

Forward UQ

Propagate input distributions through your model to characterize output variability, estimate failure probabilities, and quantify prediction confidence.

Explore tutorials →

⧉

Multifidelity Estimation

Combine cheap low-fidelity models with expensive high-fidelity simulations to achieve the same accuracy at a fraction of the computational cost.

Explore tutorials →

⟵

Inverse UQ & Bayesian Inference

Calibrate model parameters from observed data using MCMC, variational inference, and amortized methods.

Explore tutorials →

◎

Experimental Design

Decide where to place sensors, which experiments to run, and how to allocate resources to maximize information gain.

Explore tutorials →

≈

Surrogate Modeling

Replace expensive simulations with polynomial chaos, sparse grid, Gaussian process, or operator learning approximations.

Explore tutorials →

∂

Sensitivity Analysis

Identify which input parameters drive your output variance using Sobol indices, Morris screening, and analytical methods.

Explore tutorials →

Why PyApprox?

80+ Validated Tutorials

Every tutorial is executable, tested against analytical solutions where available, and designed to build intuition before diving into code.

Dual Backend: NumPy & PyTorch

Switch between NumPy for prototyping and PyTorch for GPU acceleration and automatic differentiation — same API, same results.

Use What You Need

Modular by design. Use a single capability — like surrogate modeling or sensitivity analysis — as a surgical fix, or connect the full pipeline from forward UQ through experimental design. Every module works standalone. Every module works together.

Open Source & Extensible

MIT licensed. Designed for researchers and engineers who need to customize, extend, and integrate UQ into their own workflows.

Created By

John D. Jakeman

Principal Member of Technical Staff · Sandia National Laboratories

John is a computational scientist specializing in uncertainty quantification, surrogate modeling, and optimal experimental design. He created and maintains PyApprox as part of his research at Sandia National Laboratories, where he develops methods for simulation-aided knowledge discovery, prediction, and design under uncertainty.

His work has been funded by DARPA, the U.S. Department of Energy Office of Science (ASCR), and Sandia’s Laboratory Directed Research and Development (LDRD) program.

Published Paper (DOI) GitHub

Cite This Work

If you use PyApprox in your research, please cite the following paper.

J.D. Jakeman, “PyApprox: A software package for sensitivity analysis, Bayesian inference, optimal experimental design, and multi-fidelity uncertainty quantification and surrogate modeling,” Environmental Modelling & Software, vol. 170, p. 105825, 2023.

View Paper (DOI: 10.1016/j.envsoft.2023.105825) →

Ready to deliver faster — with uncertainty quantified?

Get Started Browse All Tutorials View on GitHub Install from PyPI

Copyright 2019 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

Source Code
---
title: "PyApprox | Faster, Defensible Delivery via Simulation & Data"
pagetitle: "PyApprox | Uncertainty Quantification, Surrogate Modeling & Bayesian Design"
description: "Open-source Python toolkit for reliable, simulation- and data-driven engineering under uncertainty. Surrogate modeling, sensitivity analysis, Bayesian inference, and optimal experimental design. 80+ tutorials."
sidebar: false
toc: false
page-layout: full
---

::: {.hero-section}
::: {.hero-inner}

::: {.hero-text}

::: {.hero-eyebrow}
Open-Source Python Toolkit
:::

[Accelerating Reliable Delivery Through Simulation and Data — Under Uncertainty]{.hero-headline}

[Predictions you can defend. Delivered faster.]{.hero-accent-line}

Pushing performance while guaranteeing reliability demands expensive simulations and observational data. **PyApprox** gives engineers and scientists the mathematical tools to quantify uncertainty, focus resources where they matter most, and close the gap between ambitious targets and defensible results — faster.

:::

::: {.hero-logo}
![](assets/pyapprox-logo.png)
:::

:::
:::


::: {.section-bridge}

::: {.stats-bar}
::: {.stat-item}
[80+]{.stat-number}
[Tutorials]{.stat-label}
:::
::: {.stat-item}
[11]{.stat-number}
[Topics]{.stat-label}
:::
::: {.stat-item}
[2]{.stat-number}
[Backends]{.stat-label}
:::
:::

::: {.hero-buttons}
[Get Started](setup_environment.qmd){.btn-hero-primary}
[Browse Tutorials](tutorials.qmd){.btn-hero-secondary}
[GitHub](https://github.com/sandialabs/pyapprox){.btn-hero-secondary}
:::

:::


::: {.section-dark}

[Where Simulation Meets Reality]{.section-heading}

[Many engineering domains have expensive simulations, uncertain parameters, and high-stakes decisions. PyApprox provides a unified mathematical framework to tackle them all.]{.section-subtitle}

::: {.driver-grid}

::: {.driver-card}
![](assets/energy-systems.jpeg){.driver-img}

[Energy Systems]{.driver-title}

[Reactor safety margins and grid reliability]{.driver-desc}
:::

::: {.driver-card}
![](assets/precision-manufacturing.jpg){.driver-img}

[Precision Manufacturing]{.driver-title}

[Model calibration, stress prediction, and process optimization]{.driver-desc}
:::

::: {.driver-card}
![](assets/aerospace-defense.jpeg){.driver-img}

[Aerospace]{.driver-title}

[Vehicle reliability and mission-critical predictions]{.driver-desc}
:::

::: {.driver-card}
![](assets/oil-gas.jpeg){.driver-img}

[Energy & Subsurface]{.driver-title}

[Reservoir characterization, geothermal resource assessment, and subsurface uncertainty]{.driver-desc}
:::

::: {.driver-card}
![](assets/mining-heavy-industry.jpeg){.driver-img}

[Heavy Industry]{.driver-title}

[Equipment fatigue prediction and operational risk]{.driver-desc}
:::

::: {.driver-card}
![](assets/robotics-autonomous.jpeg){.driver-img}

[Robotics & Autonomous Systems]{.driver-title}

[Digital twin calibration, sensor fusion, and sim-to-real transfer]{.driver-desc}
:::

::: {.driver-card}
![](assets/motorsport-automotive.jpeg){.driver-img}

[Aerothermal]{.driver-title}

[Surrogate-accelerated CFD for aerothermal and reentry simulations]{.driver-desc}
:::

::: {.driver-card}
![](assets/earth-science.jpeg){.driver-img}

[Earth Science]{.driver-title}

[Ice-sheet projections and national security impact assessment]{.driver-desc}
:::

:::
:::


::: {.section-light}

[What PyApprox Does]{.section-heading .section-heading-dark}

[Accelerate design, certification, and delivery — with the confidence that comes from quantifying uncertainty.]{.section-subtitle .section-subtitle-dark}

::: {.capability-grid}

::: {.capability-card}
::: {.capability-icon}
⟶
:::

#### Forward UQ

Propagate input distributions through your model to characterize output
variability, estimate failure probabilities, and quantify prediction confidence.

[Explore tutorials →](tutorials.qmd#forward-uq)
:::

::: {.capability-card}
::: {.capability-icon}
⧉
:::

#### Multifidelity Estimation

Combine cheap low-fidelity models with expensive high-fidelity simulations
to achieve the same accuracy at a fraction of the computational cost.

[Explore tutorials →](tutorials.qmd#multifidelity-estimation)
:::

::: {.capability-card}
::: {.capability-icon}
⟵
:::

#### Inverse UQ & Bayesian Inference

Calibrate model parameters from observed data using MCMC, variational
inference, and amortized methods.

[Explore tutorials →](tutorials.qmd#inverse-uq)
:::

::: {.capability-card}
::: {.capability-icon}
◎
:::

#### Experimental Design

Decide where to place sensors, which experiments to run, and how to allocate
resources to maximize information gain.

[Explore tutorials →](tutorials.qmd#experimental-design)
:::

::: {.capability-card}
::: {.capability-icon}
≈
:::

#### Surrogate Modeling

Replace expensive simulations with polynomial chaos, sparse grid,
Gaussian process, or operator learning approximations.

[Explore tutorials →](tutorials.qmd#surrogate-modeling)
:::

::: {.capability-card}
::: {.capability-icon}
∂
:::

#### Sensitivity Analysis

Identify which input parameters drive your output variance using Sobol
indices, Morris screening, and analytical methods.

[Explore tutorials →](tutorials.qmd#sensitivity-analysis)
:::

:::
:::


::: {.section-dark}

[Why PyApprox?]{.section-heading}

::: {.why-grid}

::: {.why-item}
[80+ Validated Tutorials]{.why-title}

Every tutorial is executable, tested against analytical solutions where
available, and designed to build intuition before diving into code.
:::

::: {.why-item}
[Dual Backend: NumPy & PyTorch]{.why-title}

Switch between NumPy for prototyping and PyTorch for GPU acceleration
and automatic differentiation — same API, same results.
:::

::: {.why-item}
[Use What You Need]{.why-title}

Modular by design. Use a single capability — like surrogate modeling or sensitivity analysis — as a surgical fix, or connect the full pipeline from forward UQ through experimental design. Every module works standalone. Every module works together.
:::

::: {.why-item}
[Open Source & Extensible]{.why-title}

MIT licensed. Designed for researchers and engineers who need to
customize, extend, and integrate UQ into their own workflows.
:::

:::
:::


::: {.section-light}

[Created By]{.section-heading .section-heading-dark}

::: {.creator-card}

::: {.creator-photo}
![](assets/jakeman-headshot.jpg){.creator-img}
:::

::: {.creator-info}

[John D. Jakeman]{.creator-name}

[Principal Member of Technical Staff · Sandia National Laboratories]{.creator-role}

John is a computational scientist specializing in uncertainty quantification,
surrogate modeling, and optimal experimental design. He created and maintains
PyApprox as part of his research at Sandia National Laboratories, where he
develops methods for simulation-aided knowledge discovery, prediction, and
design under uncertainty.

His work has been funded by DARPA, the U.S. Department of Energy Office of
Science (ASCR), and Sandia's Laboratory Directed Research and Development
(LDRD) program.

::: {.creator-links}
[Published Paper (DOI)](https://doi.org/10.1016/j.envsoft.2023.105825){.creator-link}
[GitHub](https://github.com/sandialabs/pyapprox){.creator-link}
:::

:::
:::
:::


::: {.section-dark}

[Cite This Work]{.section-heading}

[If you use PyApprox in your research, please cite the following paper.]{.section-subtitle}

::: {.cite-block}
J.D. Jakeman, "PyApprox: A software package for sensitivity analysis, Bayesian
inference, optimal experimental design, and multi-fidelity uncertainty
quantification and surrogate modeling," *Environmental Modelling & Software*,
vol. 170, p. 105825, 2023.

[View Paper (DOI: 10.1016/j.envsoft.2023.105825) →](https://doi.org/10.1016/j.envsoft.2023.105825){.cite-doi-link}
:::
:::


::: {.section-cta}

[Ready to deliver faster — with uncertainty quantified?]{.cta-heading}

::: {.cta-buttons}
[Get Started](setup_environment.qmd){.btn-cta-primary}
[Browse All Tutorials](tutorials.qmd){.btn-cta-secondary}
[View on GitHub](https://github.com/sandialabs/pyapprox){.btn-cta-secondary}
[Install from PyPI](https://pypi.org/project/pyapprox/){.btn-cta-secondary}
:::

:::


::: {.copyright-notice}
Copyright 2019 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.
:::

Copyright 2019 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with NTESS, the U.S. Government retains certain rights in this software.

Built with Quarto

Repository | PyPI