# 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 operator Weight, and a list of regularization terms Regs.

Parameters
Oppylops.LinearOperator

Operator to invert of size $$[N \times M]$$.

RegularizedOperator

Regularized operator

NormalEquationsInversion

Normal equations inversion

PreconditionedInversion

Preconditioned 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 Weight provided here is equivalent to the square-root of the weight in pylops.optimization.leastsquares.NormalEquationsInversion. Note that this system is solved using the scipy.sparse.linalg.lsqr and an initial guess x0 can 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 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