sporco.pgm.stepsize

Step size policies for PGM algorithms

Classes

StepSizePolicyBase()

Base class for computing step size policy for accelerated proximal gradient method.

StepSizePolicyCauchy()

Class for computing step size policy for accelerated proximal gradient based on Cauchy method [63]

StepSizePolicyBB()

Class for computing step size policy for accelerated proximal gradient based on Barzilai-Borwein method [4]


Class Descriptions

class sporco.pgm.stepsize.StepSizePolicyBase[source]

Bases: object

Base class for computing step size policy for accelerated proximal gradient method.

This class is intended to be a base class of other classes that specialise to specific step size policy options.

After termination of the update method the new inverse of step size is returned.

Create an StepSizePolicyBase object

update(solverobj)[source]

Update step size.

Overriding this method is required.

class sporco.pgm.stepsize.StepSizePolicyCauchy[source]

Bases: sporco.pgm.stepsize.StepSizePolicyBase

Class for computing step size policy for accelerated proximal gradient based on Cauchy method [63]

\[\begin{split}\alpha = \frac{\left\| \nabla f \right\|_2^2} {\nabla f^T \: \mathrm{Hess}_f \nabla f} \; \\ L = 1 / \alpha \;\;.\end{split}\]

Create an StepSizePolicyCauchy object

update(solverobj, grad=None)[source]
Parameters
solverobjPGM object

containing the proximal gradient method state and functionality.

gradndarray

array containing the evaluation of gradient in current state.

class sporco.pgm.stepsize.StepSizePolicyBB[source]

Bases: sporco.pgm.stepsize.StepSizePolicyBase

Class for computing step size policy for accelerated proximal gradient based on Barzilai-Borwein method [4]

\[\begin{split}\Delta x = x_k - x_{k-1} \; \\ \Delta g = \nabla f (x_k) - \nabla f (x_{k-1}) \; \\ \alpha = \frac{\Delta x^T \Delta g}{\left\| \Delta g \right\|_2^2} \; \\ L = 1 / \alpha \;\;.\end{split}\]

Create an StepSizePolicyBB object

store_prev_state(xprv, gradprv)[source]
Parameters
xprvndarray

array containing the previous state.

gradprvndarray

array containing the evaluation of gradient in previous state.

update(solverobj, grad=None)[source]
Parameters
solverobjPGM object

containing the proximal gradient method state and functionality.

gradndarray

array containing the evaluation of gradient in current state.