pylops_mpi.proximal.proximal.MPIL2#
- class pylops_mpi.proximal.proximal.MPIL2(Op=None, b=None, q=None, sigma=1.0, alpha=1.0, qgrad=True, niter=10, x0=None, warm=True, solver='cgls', kwargs_solver=None)[source]#
L2 Norm proximal operator.
Implement a distributed version of the L2 norm proximal operator.
- Parameters:
- Op
pylops_mpi.MPILinearOperator, optional MPI-enabled PyLops Linear Operator
- b
pylops_mpi.DistributedArray, optional Data vector
- q
pylops_mpi.DistributedArray, optional Dot vector
- sigma
int, optional Multiplicative coefficient of L2 norm
- alpha
float, optional Multiplicative coefficient of dot product
- qgrad
bool, optional Add q term to gradient (
True) or not (False)- niter
intorfunc, optional Number of iterations of iterative scheme used to compute the proximal. This can be a constant number or a function that is called passing a counter which keeps track of how many times the
proxmethod has been invoked before and returns theniterto be used.- x0
pylops_mpi.DistributedArray, optional Initial vector. If
Opis notNone, this must be passed.- warm
bool, optional Warm start (
True) or not (False). Uses estimate from previous call ofproxmethod.- solver
str, optional Added in version 0.11.0.
Name of solver to use with non-explicit operators:
cgto usepylops_mpi.optimization.basic.cgon the normal equations;cglsto usepylops.optimization.basic.cglson the regularized system of equations;
- **kwargs_solver
dict, optional Dictionary containing extra arguments for the solver selected via the
solverparameter.
- Op
Methods
__init__([Op, b, q, sigma, alpha, qgrad, ...])grad(x)prox(*args, **kwargs)Proximal operator applied to a vector
proxdual(x, tau, **kwargs)Dual Proximal operator applied to a vector