PyLops / pylops

PyLops – A Linear-Operator Library for Python
https://pylops.readthedocs.io
GNU Lesser General Public License v3.0
409 stars 99 forks source link

Adaptive-FISTA #323

Open mrava87 opened 2 years ago

mrava87 commented 2 years ago

Feature

Recently an Adaptive-FISTA algorithm was introduced in https://www.earthdoc.org/content/papers/10.3997/2214-4609.202229010. This algorithm shows faster convergence for problems where the model is expected to be very sparse (as it approximates the L0 norm).

Implementation

@NickLuiken will implement this in pylops.optimization.sparsity.ISTA and pylops.optimization.sparsity.FISTA

cako commented 2 years ago

Looks very promising. Would be interested to see if this means we can relax having to know the maximum eigenvalue. Maybe setting a sufficiently large value is enough under this adaptive scheme. Looking forward to seeing this!

mrava87 commented 2 years ago

Good point! We haven’t looked into this but definitely for some problem where you can’t tell upfront the eigenvalue, not having to know it with high accuracy would be a bit plus :)

cako commented 2 years ago

Now that #90 is closed, it would be interesting to convert the AFISTA code into a class-based solver: https://github.com/PyLops/pylops_transform2022/blob/main/afista.py

@mrava87 @NickLuiken

rohanbabbar04 commented 1 year ago

Hi @cako @mrava87, If this issue is not touched upon, would like to work on it.

mrava87 commented 1 year ago

Hi, this issue is already taken, we just need to move codes around so no point for you to look into it.