-
Notifications
You must be signed in to change notification settings - Fork 44
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
AbsFunctions added #1976
base: master
Are you sure you want to change the base?
AbsFunctions added #1976
Conversation
Thanks very much @fmwatson for adding this absolute value feature! As also discussed in person, it would be a great help for reviewing this if you could add some very basic demonstration code of how a user might use this. One potential (but possibly slightly too simplistic) case could be a complex random valued square MatrixOperator A mapping a vectordata x to a vectordata b and then use the functionality to do ||A* abs(x) - b||_2^2 |
@jakobsj it's hard to put together a non-trivial example with the base tools and A simple example with
The (Total Variation itself does not need all of the machinery built into |
Thank you @fmwatson for the additional information. To progress this I think it would beneficial to have an online meeting, perhaps with other relevant people, and discuss its usage and relation to general complex-valued support and identify potential user-provided or to-be-added-to-CIL functions providing relevant examples - I see lots of cases covered in your paper. I will contact you by email. |
Signed-off-by: Margaret Duff <[email protected]>
return call_abs(self._function, x) | ||
|
||
def proximal(self, x, tau, out=None): | ||
r'''Returns the proximal operator of function :math:`\tau G` evaluated at x |
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.
This should probably be "Returns the proximal map" rather than operator
Description
Methodology for converting a CIL Function H(x) into the same Function applied to the magnitude of data G(z):=H(|z|), in particular for complex-valued problems. The New CIL Function can be used as
function = SomeCILFunction() fun_applied_to_magnitude = FunctionOfAbs(function)
.proximal()
(and.proximal_conjugate()
) will be correctly modified for use with Algorithms such as PDHGFor mathematical details see https://doi.org/10.48550/arXiv.2410.22161