lair.inversion.estimators#

Inversion estimators.

This module contains various inversion estimators for solving inverse problems.

Classes

BayesianSolver(z, x_0, H, S_0, S_z[, c, rf])

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)\]