Closed mehrhardt closed 5 years ago
It's named tau
in the Function
object.
So the question is: is the parameter called Lipshitz
the "step size" (tau
) or is it the Lipschitz parameter?
@mehrhardt I think you're right, we shouldn't attach the Lipschitz
constant (L) to the step-parameter of the proximal operator. A good example would be the ADMM method where "rho" is not necessarily related to L which is used in the inner loop. So for this module I suggest adding "rho" or "tau" and for FISTA case make it equal to L ?
Even for FISTA one may not want it to be equal to the Lipschitz constant. To me that really depends on the user.
Indeed, I had a case with FISTA when ordered-subsets and/or non-convex data fidelity iterations were not converging so I had to manually select the parameter. @paskino I'll fix this in the PR
I guess this can be closed
https://github.com/vais-ral/CCPi-FrameworkPlugins/blob/5b0077ea9531f5212d82868eeb63a9a574479594/Wrappers/Python/ccpi/plugins/regularisers.py#L66
I have two issues with this line.
This step size may be related to the "Lipschitz constant" of some operator but in general it will not be. Thus the naming is misleading. Also, it is very important for the algorithms where this will be used (PDHG, FISTA, etc) that the mathematical formula is implemented correctly (having this correct step size parameter). It would be good to have unit tests for this.