HQSIteration

class deepinv.optim.optim_iterators.HQSIteration(**kwargs)[source]

Bases: OptimIterator

Single iteration of half-quadratic splitting.

Class for a single iteration of the Half-Quadratic Splitting (HQS) algorithm for minimising :math:` f(x) + lambda g(x)`. The iteration is given by

\[\begin{split}\begin{equation*} \begin{aligned} u_{k} &= \operatorname{prox}_{\gamma f}(x_k) \\ x_{k+1} &= \operatorname{prox}_{\sigma \lambda g}(u_k). \end{aligned} \end{equation*}\end{split}\]

where \(\gamma\) and \(\sigma\) are step-sizes. Note that this algorithm does not converge to a minimizer of \(f(x) + \lambda g(x)\), but instead to a minimizer of \(\gamma\, ^1f+\sigma \lambda g\), where \(^1f\) denotes the Moreau envelope of \(f\)