PyOED Models#
This package provides the three pillars of the forward problem in optimal experimental design and data assimilation:
Simulation Models define the forward map from parameters/states to observable quantities. PyOED provides both time-independent models (e.g., tomography, parameter-to-observable) and time-dependent dynamical models (e.g., Lorenz-63, advection-diffusion).
Observation Operators transform model states into observations. They encapsulate the mapping \(\mathcal{H}: \mathbb{R}^{n_x} \to \mathbb{R}^{n_y}\) and support experimental design (binary sensor on/off).
Error Models represent observation noise distributions (e.g., Gaussian, Laplacian). They provide methods for noise generation, density evaluation, and gradient computation used in variational and Bayesian methods.
These three components are composed together in an inverse problem or OED formulation via the assimilation and OED modules.
Abstract Base Classes#
The following table lists the abstract base classes that all concrete models, operators, and error models inherit from.
|
Abstract class (following Python's abc convention) for Simulation models (both time-dependent and time-independent)' (wrappers') implementation. |
|
Base class for time-independent models (such as tomography, ptychography, etc.) |
|
Abstract base class for time-dependent (dynamical) simulation models. |
|
Abstract base class for observation operators. |
|
This class provides a general implementation for time-dependent observation operators. |
|
Abstract base class for error/noise models. |
|
This class provides a general implementation for time-dependent error models. |
Class Hierarchy#

Models abstract base class hierarchy#