prox_dca¶
-
odl.solvers.nonsmooth.difference_convex.
prox_dca
(x, f, g, niter, gamma, callback=None)[source]¶ Proximal DCA of Sun, Sampaio and Candido.
This algorithm solves a problem of the form
min_x f(x) - g(x)
where
f
andg
are two proper, convex and lower semicontinuous functions.- Parameters
- x
LinearSpaceElement
Initial point, updated in-place.
- f
Functional
Convex functional. Needs to implement
f.proximal
.- g
Functional
Convex functional. Needs to implement
g.gradient
.- niterint
Number of iterations.
- gammapositive float
Stepsize in the primal updates.
- callbackcallable, optional
Function called with the current iterate after each iteration.
- x
See also
dca
Solver with subgradinet steps for all the functionals.
doubleprox_dc
Solver with proximal steps for all the nonsmooth convex functionals and a gradient step for a smooth functional.
Notes
The algorithm was proposed as Algorithm 2.3 in [SSC2003]. It solves the problem
by using subgradients of and proximal points of . The iteration is given by
In contrast to
dca
,prox_dca
uses proximal steps with respect to the convex partf
. Both algorithms use subgradients of the concave partg
.References
[SSC2003] Sun, W, Sampaio R J B, and Candido M A B. Proximal point algorithm for minimization of DC function. Journal of Computational Mathematics, 21.4 (2003), pp 451–462.