# pylops.optimization.leastsquares.preconditioned_inversion#

pylops.optimization.leastsquares.preconditioned_inversion(Op, y, P, x0=None, engine='scipy', show=False, **kwargs_solver)[source]#

Preconditioned inversion.

Solve a system of preconditioned equations given the operator Op and a preconditioner P.

Parameters
Oppylops.LinearOperator

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

ynumpy.ndarray

Data of size $$[N \times 1]$$

Ppylops.LinearOperator

Preconditioner

x0numpy.ndarray

Initial guess of size $$[M \times 1]$$

enginestr, optional

Solver to use (scipy or pylops)

showbool, optional

Display normal equations solver log

**kwargs_solver

Arbitrary keyword arguments for chosen solver (scipy.sparse.linalg.lsqr and pylops.optimization.solver.cgls are used as default for numpy and cupy data, respectively)

Returns
xinvnumpy.ndarray

Inverted model.

istopint

Gives the reason for termination

1 means $$\mathbf{x}$$ is an approximate solution to $$\mathbf{y} = \mathbf{Op}\,\mathbf{x}$$

2 means $$\mathbf{x}$$ approximately solves the least-squares problem

itnint

Iteration number upon termination

r1normfloat

$$||\mathbf{r}||_2^2$$, where $$\mathbf{r} = \mathbf{y} - \mathbf{Op}\,\mathbf{x}$$

r2normfloat

$$\sqrt{\mathbf{r}^T\mathbf{r} + \epsilon^2 \mathbf{x}^T\mathbf{x}}$$. Equal to r1norm if $$\epsilon=0$$

RegularizedInversion

Regularized inversion

NormalEquationsInversion

Normal equations inversion

Notes

## Examples using pylops.optimization.leastsquares.preconditioned_inversion#

Causal Integration

Causal Integration

Wavelet estimation

Wavelet estimation

03. Solvers

03. Solvers