but using the incorrect prox is, well, wrong, and also prevents convergence beyond 10-7 (which is a pity for an algorithm that CAN converge to numerical accuracy in reasonable time.
As mentioned in the comment, haven't tested the change in context, please have a long look at it! I had the same bug in my independent implementation(!), so I'm letting you know also.
Yes, for small x,
(1-x) \approx 1/(1+x)
but using the incorrect prox is, well, wrong, and also prevents convergence beyond 10-7 (which is a pity for an algorithm that CAN converge to numerical accuracy in reasonable time.
As mentioned in the comment, haven't tested the change in context, please have a long look at it! I had the same bug in my independent implementation(!), so I'm letting you know also.