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
Op
and distributed datay
using conjugate gradient iterations.- Parameters:
- Op
pylops_mpi.MPILinearOperator
orpylops_mpi.MPIStackedLinearOperator
Operator to invert of size \([N \times N]\)
- y
pylops_mpi.DistributedArray
orpylops_mpi.StackedDistributedArray
DistributedArray of size (N,)
- x0
pylops_mpi.DistributedArray
orpylops_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 wherex
is the current model vector
- Op
- Returns:
- x
pylops_mpi.DistributedArray
orpylops_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
Examples using pylops_mpi.optimization.basic.cg
#
Post Stack Inversion - 3D