CIL
CIL copied to clipboard
Incorrect objective calculation for SIRT
Description
In SIRT the objective calculation is here: https://github.com/TomographicImaging/CIL/blob/9ba92fea1c0e1f17b3d46a5952185794a604d042/Wrappers/Python/cil/optimisation/algorithms/SIRT.py#L203-L209
But $r\neq Ax-b$ because it is modified by the preconditioner: https://github.com/TomographicImaging/CIL/blob/9ba92fea1c0e1f17b3d46a5952185794a604d042/Wrappers/Python/cil/optimisation/algorithms/SIRT.py#L193
Instead, we should have
def update_objective(self):
r"""Returns the objective
.. math:: \frac{1}{2}\|A x - b\|^{2}
"""
self.loss.append(0.5*(self.operator.direct(self.x)-self.data).squared_norm())
@epapoutsellis - if you have a moment, please can you sense check this for me?