pylops_mpi.optimization.basic.cgls#

pylops_mpi.optimization.basic.cgls(Op, y, x0, niter=10, damp=0.0, tol=0.0001, show=False, itershow=(10, 10, 10), callback=None)[source]#

Conjugate gradient least squares

Solve an overdetermined system of equations given either an MPILinearOperator or an MPIStackedLinearOperator``Op`` and distributed data y using conjugate gradient iterations.

Parameters:
Oppylops_mpi.MPILinearOperator or pylops_mpi.MPIStackedLinearOperator

MPI Linear Operator to invert of size \([N \times M]\)

ypylops_mpi.DistributedArray or pylops_mpi.StackedDistributedArray

DistributedArray of size (N,)

x0pylops_mpi.DistributedArray or pylops_mpi.StackedDistributedArray

Initial guess

niterint, optional

Number of iterations

dampfloat, optional

Damping coefficient

tolfloat, optional

Tolerance on residual norm

showbool, optional

Display iterations log

itershowtuple, optional

Display set log for the first N1 steps, last N2 steps, and every N3 steps in between where N1, N2, N3 are the three element of the list.

callbackcallable, optional

Function with signature (callback(x)) to call after each iteration where x is the DistributedArray.

Returns:
xpylops_mpi.DistributedArray or pylops_mpi.StackedDistributedArray

Estimated model of size (M, )

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

iitint

Iteration number upon termination

r1normfloat

\(||\mathbf{r}||_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\)

costnumpy.ndarray, optional

History of r1norm through iterations

Notes

See pylops_mpi.optimization.cls_basic.CGLS

Examples using pylops_mpi.optimization.basic.cgls#

CGLS Solver

CGLS Solver

Least-squares Migration

Least-squares Migration

Post Stack Inversion - 3D

Post Stack Inversion - 3D