pylops_gpu.optimization.cg.cgls

pylops_gpu.optimization.cg.cgls(A, y, x=None, niter=10, damp=0.0, tol=1e-10)[source]

Conjugate gradient least squares

Solve an overdetermined system of equations given an operator A and data y using conjugate gradient iterations.

Parameters:
A : pylops_gpu.LinearOperator

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

y : torch.Tensor

Data of size \([N \times 1]\)

x0 : torch.Tensor, optional

Initial guess

niter : int, optional

Number of iterations

damp : float, optional

Damping coefficient

tol : int, optional

Residual norm tolerance

Returns:
x : torch.Tensor

Estimated model

iiter : torch.Tensor

Max number of iterations model

Notes

Minimize the following functional using conjugate gradient iterations:

\[J = || \mathbf{y} - \mathbf{Ax} ||^2 + \epsilon || \mathbf{x} ||^2\]

where \(\epsilon\) is the damping coefficient.