# pylops.optimization.basic.cg¶

pylops.optimization.basic.cg(Op, y, x0=None, niter=10, tol=0.0001, show=False, itershow=[10, 10, 10], callback=None)[source]

Solve a square system of equations given an operator Op and data y using conjugate gradient iterations.

Parameters
Oppylops.LinearOperator

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

ynp.ndarray

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

x0np.ndarray, optional

Initial guess

niterint, optional

Number of iterations

tolfloat, optional

Tolerance on residual norm

showbool, optional

Display iterations log

itershowlist, 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 current model vector

Returns
xnp.ndarray

Estimated model of size $$[N \times 1]$$

iitint

Number of executed iterations

costnumpy.ndarray, optional

History of the L2 norm of the residual

Notes