pyproximal.optimization.cls_primal.ADMML2ΒΆ
- class pyproximal.optimization.cls_primal.ADMML2(callbacks: Callbacks = None)[source]ΒΆ
Alternating Direction Method of Multipliers for L2 misfit term
Solves the following minimization problem using Alternating Direction Method of Multipliers:
\[\begin{split}\mathbf{x},\mathbf{z} = \argmin_{\mathbf{x},\mathbf{z}} \frac{1}{2}||\mathbf{Op}\mathbf{x} - \mathbf{b}||_2^2 + g(\mathbf{z}) \\ s.t. \; \mathbf{Ax}=\mathbf{z}\end{split}\]where \(g(\mathbf{z})\) is any convex function that has a known proximal operator.
See also
ADMMADMM
LinearizedADMMLinearized ADMM
Notes
The ADMM algorithm with L2 misfit term can be expressed by the following recursion [1]:
\[\begin{split}\mathbf{x}^{k+1} = \argmin_{\mathbf{x}} \frac{1}{2}||\mathbf{Op}\mathbf{x} - \mathbf{b}||_2^2 + \frac{1}{2\tau} ||\mathbf{Ax} - \mathbf{z}^k + \mathbf{u}^k||_2^2\\ \mathbf{z}^{k+1} = \prox_{\tau g}(\mathbf{Ax}^{k+1} + \mathbf{u}^{k})\\ \mathbf{u}^{k+1} = \mathbf{u}^{k} + \mathbf{Ax}^{k+1} - \mathbf{z}^{k+1}\end{split}\][1]S. Boyd, N. Parikh, E. Chu, B. Peleato, and J. Eckstein. 2011. Distributed optimization and statistical learning via the alternating direction method of multipliers. Foundations and Trends in Machine Learning, 3 (1), 1-122. https://doi.org/10.1561/2200000016.
Methods
__init__([callbacks])callback(x, *args, **kwargs)Callback routine
finalize([nbar, show])Finalize solver
memory_usage()Compute memory usage of the solver
run(x, z[, niter, show, itershow])Run solver
setup(proxg, Op, b, A, x0, tau[, z0, ...])Setup solver
solve(proxg, Op, b, A, x0, tau[, z0, ...])Run entire solver
step(x, z[, show])Run one step of solver