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:
Oppylops_mpi.MPILinearOperator, optional

MPI-enabled PyLops Linear Operator

bpylops_mpi.DistributedArray, optional

Data vector

qpylops_mpi.DistributedArray, optional

Dot vector

sigmaint, optional

Multiplicative coefficient of L2 norm

alphafloat, optional

Multiplicative coefficient of dot product

qgradbool, optional

Add q term to gradient (True) or not (False)

niterint or func, 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 prox method has been invoked before and returns the niter to be used.

x0pylops_mpi.DistributedArray, optional

Initial vector. If Op is not None, this must be passed.

warmbool, optional

Warm start (True) or not (False). Uses estimate from previous call of prox method.

solverstr, optional

Added in version 0.11.0.

Name of solver to use with non-explicit operators:

**kwargs_solverdict, optional

Dictionary containing extra arguments for the solver selected via the solver parameter.

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