sporco.admm.ppp¶
Classes for ADMM variant of the Plug and Play Priors (PPP) algorithm.
Classes
|
Base class for Plug and Play Priors (PPP) ADMM solvers [48] [44]. |
|
Plug and Play Priors (PPP) solver [48] [44] that can be used without the need to derive a new class. |
|
Base class for Plug and Play Priors (PPP) ADMM Consensus solvers |
|
Plug and Play Priors (PPP) ADMM Consensus solver that can be used without the need to derive a new class. |
Class Descriptions¶
- class sporco.admm.ppp.GenericPPP(*args, **kwargs)[source]¶
Bases:
sporco.admm.admm.ADMMEqual
Base class for Plug and Play Priors (PPP) ADMM solvers [48] [44].
- Parameters
- xshapetuple of ints
Shape of working variable X
- opt
GenericPPP.Options
objectAlgorithm options
- eval_objfn()[source]¶
Compute components of objective function.
In this case the regularisation term is implicit so we can only evaluate the data fidelity term represented by the \(f(\cdot)\) component of the functional to be minimised.
- proxf(X, rho)[source]¶
Compute the proximal operator of \(\rho^{-1} f(\cdot)\).
Overriding this method is required. Note that this method should compute the proximal operator of \(\rho^{-1} f(\cdot)\), not the proximal operator of \(\rho f(\cdot)\).
- class sporco.admm.ppp.PPP(*args, **kwargs)[source]¶
Bases:
sporco.admm.ppp.GenericPPP
Plug and Play Priors (PPP) solver [48] [44] that can be used without the need to derive a new class.
- Parameters
- xshapetuple of ints
Shape of working variable X
- ffunction
Function evaluating the data fidelity term
- proxffunction
Function computing the proximal operator of the data fidelity term
- proxgfunction
Function computing the proximal operator of the regularisation term
- opt
PPP.Options
objectAlgorithm options
- class sporco.admm.ppp.GenericPPPConsensus(*args, **kwargs)[source]¶
Bases:
sporco.admm.admm.WeightedADMMConsensus
Base class for Plug and Play Priors (PPP) ADMM Consensus solvers
This class solves the Multi-Agent Consensus Equilibrium problem [10] via ADMM Consensus instead of the Douglas-Rachford algorithm used in [10]. It can also be viewed as a variant of the Plug and Play Priors (PPP) approach [48] [44] based on a weighted version of the ADMM Consensus (see Ch. 7 of [9]) problem instead of the simpler ADMM problem of the original PPP approach.
- Parameters
- xshapetuple of ints
Shape of working variable X
- Nbint
Number of consensus blocks
- muarray_like
Array of scalar weights
- opt
GenericPPPConsensus.Options
objectAlgorithm options
- eval_objfn()[source]¶
Compute components of objective function as well as total contribution to objective function.
In this case we assume that there are no components that can be computed.
- xistep(i)[source]¶
Minimise Augmented Lagrangian with respect to ADMM Consensus component \(\mathbf{x}_i\).
- prox_fi(X, rho)[source]¶
Compute the proximal operator of \(\rho^{-1} f_i(\cdot)\).
Overriding this method is required. Note that this method should compute the proximal operator of \(\rho^{-1} f_i(\cdot)\), not the proximal operator of \(\rho f_i(\cdot)\).
- prox_g(X, rho)[source]¶
Compute the proximal operator of \(\rho^{-1} g(\cdot)\).
If this method is not overridden, the default is to assume \(g(\mathbf{y}) = 0\), so that the corresponding proximal operator is the identity mapping. Note that this method should compute the proximal operator of \(\rho^{-1} g(\cdot)\), not the proximal operator of \(\rho g(\cdot)\).
- class sporco.admm.ppp.PPPConsensus(*args, **kwargs)[source]¶
Bases:
sporco.admm.ppp.GenericPPPConsensus
Plug and Play Priors (PPP) ADMM Consensus solver that can be used without the need to derive a new class.
This class solves the Multi-Agent Consensus Equilibrium problem [10] via ADMM Consensus instead of the Douglas-Rachford algorithm used in [10].
- Parameters
- xshapetuple of ints
Shape of working variable X
- proxfituple of functions
Tuple of functions that compute the proximal operators for each consensus block
- proxgfunction
Function computing the proximal operator of the regularisation term
- opt
PPPConsensus.Options
objectAlgorithm options