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

See also

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