pylops_mpi.optimization.basic.cg#
- pylops_mpi.optimization.basic.cg(Op, y, x0, niter=10, tol=0.0001, show=False, itershow=(10, 10, 10), callback=None)[source]#
Conjugate gradient
Solve a square system of equations given either an MPILinearOperator or an MPIStackedLinearOperator
Opand distributed datayusing conjugate gradient iterations.- Parameters:
- Op
pylops_mpi.MPILinearOperatororpylops_mpi.MPIStackedLinearOperator Operator to invert of size \([N \times N]\)
- y
pylops_mpi.DistributedArrayorpylops_mpi.StackedDistributedArray DistributedArray of size (N,)
- x0
pylops_mpi.DistributedArrayorpylops_mpi.StackedDistributedArray Initial guess
- niter
int, optional Number of iterations
- tol
float, optional Tolerance on residual norm
- show
bool, optional Display iterations log
- itershow
tuple, 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.
- callback
callable, optional Function with signature (
callback(x)) to call after each iteration wherexis the current model vector
- Op
- Returns:
- x
pylops_mpi.DistributedArrayorpylops_mpi.StackedDistributedArray Estimated model of size (N,)
- iit
int Number of executed iterations
- cost
numpy.ndarray, optional History of the L2 norm of the residual
- x
Notes