Skip to content

Commit

Permalink
Update description in docs
Browse files Browse the repository at this point in the history
  • Loading branch information
lauramurgatroyd committed Dec 17, 2024
1 parent a5e58d8 commit 33c90f8
Showing 1 changed file with 15 additions and 14 deletions.
29 changes: 15 additions & 14 deletions Wrappers/Python/cil/optimisation/algorithms/FISTA.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,17 +29,17 @@

class ISTA(Algorithm):

r"""Iterative Shrinkage-Thresholding Algorithm (ISTA), see :cite:`BeckTeboulle_b`, :cite:`BeckTeboulle_a`.
.. math:: x_{k+1} = \mathrm{prox}_{\alpha g}(x_{k} - \alpha\nabla f(x_{k}))
is used to solve
r"""Iterative Shrinkage-Thresholding Algorithm (ISTA), see :cite:`BeckTeboulle_b`, :cite:`BeckTeboulle_a` is used to solve:
.. math:: \min_{x} f(x) + g(x)
where :math:`f` is differentiable, :math:`g` has a *simple* proximal operator and :math:`\alpha^{k}`
is the :code:`step_size`.
In each update, the algorithm computes:
.. math:: x_{k+1} = \mathrm{prox}_{\alpha g}(x_{k} - \alpha\nabla f(x_{k}))
Note
----
Expand Down Expand Up @@ -227,7 +227,15 @@ def calculate_objective_function_at_point(self, x):

class FISTA(ISTA):

r"""Fast Iterative Shrinkage-Thresholding Algorithm (FISTA), see :cite:`BeckTeboulle_b`, :cite:`BeckTeboulle_a`.
r"""Fast Iterative Shrinkage-Thresholding Algorithm (FISTA), see :cite:`BeckTeboulle_b`, :cite:`BeckTeboulle_a` is used to solve:
.. math:: \min_{x} f(x) + g(x)
where :math:`f` is differentiable, :math:`g` has a *simple* proximal operator and :math:`\alpha`
is the :code:`step_size`.
In each update the algorithm completes the following steps:
.. math::
Expand All @@ -237,14 +245,7 @@ class FISTA(ISTA):
y_{k+1} = x_{k} + \frac{t_{k}-1}{t_{k+1}}(x_{k} - x_{k-1})
\end{cases}
is used to solve
.. math:: \min_{x} f(x) + g(x)
where :math:`f` is differentiable, :math:`g` has a *simple* proximal operator and :math:`\alpha`
is the :code:`step_size`.
Note that the above applies for :math:`k\geq 1`. :math:`x_{0}` and :math:`y_{0}` are initialised to `initial` and :math:`t_{1}=1`
Note that the above applies for :math:`k\geq 1`. For :math:`k\eq 0` :math:`x_{0}` and :math:`y_{0}` are initialised to `initial`, and :math:`t_{1}=1`
Parameters
Expand Down

0 comments on commit 33c90f8

Please sign in to comment.