pylops.optimization.cls_leastsquares.RegularizedInversion¶
- class pylops.optimization.cls_leastsquares.RegularizedInversion(Op, callbacks=None)[source]¶
Regularized inversion.
Solve a system of regularized equations given the operator
Op, a data weighting operatorWeight, and a list of regularization termsRegs.- Parameters:
- Op
pylops.LinearOperator Operator to invert of size \([N \times M]\).
- Op
- Attributes:
- ncp
module Array module used by the solver (obtained via
pylops.utils.backend.get_array_module) ). Available only aftersetupis called.- RegOp
pylops.LinearOperator Augmented operator with regularization terms stack to the main operator.
- datatot
numpy.ndarray Stack of the data term (
y) or weighed data terms (W @ yifWeightis provided) and regularization data terms.
- ncp
See also
RegularizedOperatorRegularized operator
NormalEquationsInversionNormal equations inversion
PreconditionedInversionPreconditioned inversion
Notes
Solve the following system of regularized equations given the operator \(\mathbf{Op}\), a data weighting operator \(\mathbf{W}^{1/2}\), a list of regularization terms \(\mathbf{R}_i\), the data \(\mathbf{y}\) and regularization data \(\mathbf{y}_{\mathbf{R}_i}\), and the damping factors \(\epsilon_\mathbf{I}\): and \(\epsilon_{\mathbf{R}_i}\):
\[\begin{split}\begin{bmatrix} \mathbf{W}^{1/2} \mathbf{Op} \\ \epsilon_{\mathbf{R}_1} \mathbf{R}_1 \\ \vdots \\ \epsilon_{\mathbf{R}_N} \mathbf{R}_N \end{bmatrix} \mathbf{x} = \begin{bmatrix} \mathbf{W}^{1/2} \mathbf{y} \\ \epsilon_{\mathbf{R}_1} \mathbf{y}_{\mathbf{R}_1} \\ \vdots \\ \epsilon_{\mathbf{R}_N} \mathbf{y}_{\mathbf{R}_N} \\ \end{bmatrix}\end{split}\]where the
Weightprovided here is equivalent to the square-root of the weight inpylops.optimization.leastsquares.NormalEquationsInversion. Note that this system is solved using thescipy.sparse.linalg.lsqrand an initial guessx0can be provided to this solver, despite the original solver does not allow so.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, epsRs, show])Setup solver
solve(y, Regs[, x0, Weight, dataregs, ...])Run entire solver
step()Run one step of solver