pylops.optimization.cls_leastsquares.NormalEquationsInversion#
- class pylops.optimization.cls_leastsquares.NormalEquationsInversion(Op, callbacks=None)[source]#
Inversion of normal equations.
Solve the regularized normal equations for a system of equations given the operator
Op, a data weighting operatorWeightand optionally a list of regularization termsRegsand/orNRegs.- Parameters
- Op
pylops.LinearOperator Operator to invert of size \([N \times M]\).
- Op
See also
RegularizedInversionRegularized inversion
PreconditionedInversionPreconditioned inversion
Notes
Solve the following normal equations for a system of regularized equations given the operator \(\mathbf{Op}\), a data weighting operator \(\mathbf{W}\), a list of regularization terms (\(\mathbf{R}_i\) and/or \(\mathbf{N}_i\)), the data \(\mathbf{y}\) and regularization data \(\mathbf{y}_{\mathbf{R}_i}\), and the damping factors \(\epsilon_I\), \(\epsilon_{\mathbf{R}_i}\) and \(\epsilon_{\mathbf{N}_i}\):
\[( \mathbf{Op}^T \mathbf{W} \mathbf{Op} + \sum_i \epsilon_{\mathbf{R}_i}^2 \mathbf{R}_i^T \mathbf{R}_i + \sum_i \epsilon_{\mathbf{N}_i}^2 \mathbf{N}_i + \epsilon_I^2 \mathbf{I} ) \mathbf{x} = \mathbf{Op}^T \mathbf{W} \mathbf{y} + \sum_i \epsilon_{\mathbf{R}_i}^2 \mathbf{R}_i^T \mathbf{y}_{\mathbf{R}_i}\]Note that the data term of the regularizations \(\mathbf{N}_i\) is implicitly assumed to be zero.
- Attributes
- ncp
module Array module used by the solver (obtained via
pylops.utils.backend.get_array_module) ). Available only aftersetupis called.- OpH
pylops.LinearOperator Adjoint of
Op.- y_normal
numpy.ndarray Data term projected in the model space (
Op.H @ yorOp.H @ W @ yifWeightis provided).- Op_normal
pylops.LinearOperator Sum of the product of the adjoint and forward operator (
Op.H @ OporOp.H @ W @ OpifWeightis provided) and that of the regularization terms.
- ncp
Methods
__init__(Op[, callbacks])callback(x, *args, **kwargs)Callback routine
finalize(*args[, show])Finalize solver
memory_usage([nopRegs, show, unit])Compute memory usage of the solver
run(x[, engine, show])Run solver
setup(y, Regs[, Weight, dataregs, epsI, ...])Setup solver
solve(y, Regs[, x0, Weight, dataregs, epsI, ...])Run entire solver
step()Run one step of solver