astro-informatics / sopt

Sparse OPTimisation using state-of-the-art convex optimisation algorithms.
http://astro-informatics.github.io/sopt/
GNU General Public License v2.0
8 stars 10 forks source link

Implement PADMM #64

Closed mdavezac closed 8 years ago

mdavezac commented 8 years ago

Carrillo et al (2015) - Why CLEAN when you can PURIFY? [BASP2015 presentation].pdf

aka sopt_l1_solver_padmm in sopt_l1.c

mdavezac commented 8 years ago

As of 0c55cf79e1cbcf3ed7f997dc0a2bcab24f3c91aa, ADMM aka sopt_l1_solver_padmm has been reimplemented in c++. A regression test against the original code (in-painting) proves the two codes behave identically, at least in that case.

Next, it looks the code could be generalized to take two proximal functions, rather than the hard-coded ones the old code had.

mdavezac commented 8 years ago

There are now to Proximal ADMM, ProximalADMM and L1ProximalADMM. The latter is a specialization of the former to f=||\Psi x||_1 and g is the indicator function of the L2 ball.

Both now need examples, and possibly benchmarks.

mdavezac commented 8 years ago