-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update algorithms interface, update docs #62
Update algorithms interface, update docs #62
Conversation
Codecov Report
@@ Coverage Diff @@
## master #62 +/- ##
==========================================
- Coverage 89.33% 88.59% -0.75%
==========================================
Files 22 22
Lines 966 894 -72
==========================================
- Hits 863 792 -71
+ Misses 103 102 -1
Continue to review full report at Codecov.
|
@aldma since you contributed PANOCplus, I would kindly ask you to take a look to the changes I’m doing to it here (see PR description), whenever you are able to, and confirm that they look OK. Feel free to focus on the changes to PANOCplus, of course :-) In particular, I’m changing the behavior when the maximum number of backtracking steps on tau is exceeded, to have the “nominal” forward-backward step accepted instead of the iteration halting. |
@wwkong I’m proposing some breaking changes to the SFISTA method you contributed, to uniformize the naming across algorithms: the proximable term |
@lostella Your changes to PANOCplus look good. Nice refactoring and docs, indeed! |
Merging, I’ll address further comments separately, if there are any 🙃 |
This PR touches lots things, but the changes are not that many, with several concerning documentation. However, a few breaking changes are there. All of the changes were done working backwards from the documentation process, trying to simplify and uniformize the interface to algorithms.
Breaking changes
DavisYin
now hasf
as smooth term (wash
) to align it with all other algorithms; the smoothness constant was renamed toLf
as a consequence.DRLS
now usesmf
as strong convexity parameter (wasmuf
).SFISTA
arguments were uniformized to other algorithms:x0
is the initial iterate,g
is the proximable term,mf
is the convexity modulus off
.Other changes
IterativeAlgorithm
type, which encodes at once how to construct and iterate a given iterator type, with stopping criterion and verbosity and so on; specific algorithms construct an object of this type now, with a particular iterator type, default stopping criterion (which can now be replaced with anything if one wants, not just tuned via the tolerance) and default values for other options.iterate
method to make it type stable (a new state is always returned, nevernothing
).Documentation changes
Tests
Except for the changes to the algorithms interface (described above), test scripts are unchanged.