-
Notifications
You must be signed in to change notification settings - Fork 41
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
Changed ISTA and FISTA so that g can be None #1580
Changed ISTA and FISTA so that g can be None #1580
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Maybe for a separate issue, but would it make sense to allow the function f to be none (maybe not both at the same time)?
Maybe in the docs we can write that |
Thanks @epapoutsellis - will add that! |
@jakobsj - what's the thought around f being None? What would it default to? |
ZeroFunction. Just minimize g. I wonder if there are cases that is a
sensible thing to do. For example, if it is a simple 1- or 2-norm I
suppose the minimizer is simply the zero vector. Could be relevant for
completeness, for testing purposes and possibly for cases we haven't
thought of yet.
…On Fri, 24 Nov 2023 at 10:42, Margaret Duff ***@***.***> wrote:
@jakobsj <https://github.com/jakobsj> - what's the thought around f being
None? What would it default to?
—
Reply to this email directly, view it on GitHub
<#1580 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACMDSCC3LAATG4GIHOROYGTYGBTYVAVCNFSM6AAAAAA7UZBOGCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRVGM4TONJRGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
If |
@jakobsj @epapoutsellis - I added options for |
@MargaretDuff just to let you know that this is related to #1586 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Nice extension to either f or g being None. Also nice tests, making direct use of the proximal. I didn't check, but what happens if both f and g are set to None? Should this throw an error or might it make sense to return a zero vector in the shape/geometry of the initial guess?
Thanks, @jakobsj. I have added a warning if f and g are None. It should return the initial value. |
…ret into fista-second-term
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I propose to raise an error in case both f and g are None, and a couple of formatting changes.
Co-authored-by: Edoardo Pasca <edo.paskino@gmail.com> Signed-off-by: Margaret Duff <43645617+MargaretDuff@users.noreply.github.com>
Signed-off-by: Margaret Duff <43645617+MargaretDuff@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes requested in individual comments. It looks like a good change to FISTA/ISTA though.
Signed-off-by: Margaret Duff <43645617+MargaretDuff@users.noreply.github.com>
…ret into fista-second-term
Changes have been implemented - Thanks for reviewing!
Describe your changes
Changed ISTA and FISTA so that g can be:
" g : Function or
None
Convex function with simple proximal operator. If
None
is passed, the algorithm will use the ZeroFunction."Describe any testing you have performed
Please add any demo scripts to CIL-Demos/misc/
Link relevant issues
Closes #1567
Checklist when you are ready to request a review
Contribution Notes
Please read and adhere to the developer guide and local patterns and conventions.