lair.inversion.estimators#
Inversion estimators.
This module contains various inversion estimators for solving inverse problems.
Classes
|
Bayesian inversion estimator class This class implements a Bayesian inversion framework for solving inverse problems, also known as the batch method. |
- class lair.inversion.estimators.BayesianSolver(z: ndarray, x_0: ndarray, H: ndarray, S_0: ndarray, S_z: ndarray, c: ndarray | float | None = None, rf: float = 1.0)[source]#
Bayesian inversion estimator class This class implements a Bayesian inversion framework for solving inverse problems, also known as the batch method.
- __init__(z: ndarray, x_0: ndarray, H: ndarray, S_0: ndarray, S_z: ndarray, c: ndarray | float | None = None, rf: float = 1.0)[source]#
Initialize inversion object
- Parameters:
- znp.ndarray
Observed data
- x_0np.ndarray
Prior model estimate
- Hnp.ndarray
Forward operator
- S_0np.ndarray
Prior error covariance
- S_znp.ndarray
Model-data mismatch covariance
- cnp.ndarray | float, optional
Constant data, defaults to 0.0
- rffloat, optional
Regularization factor, by default 1.0
- cost(x)[source]#
Cost function
\[J(x) = \frac{1}{2}(x - x_0)^T S_0^{-1}(x - x_0) + \frac{1}{2}(z - Hx - c)^T S_z^{-1}(z - Hx - c)\]
- property x_hat#
Posterior Mean Model Estimate (solution)
\[\hat{x} = x_0 + K(z - Hx_0 - c)\]
- property S_hat#
Posterior Error Covariance Matrix
\[\hat{S} = (H^T S_z^{-1} H + S_0^{-1})^{-1} = S_0 - (H S_0)^T(H S_0 H^T + S_z)^{-1}(H S_0)\]