CIL icon indicating copy to clipboard operation
CIL copied to clipboard

Incorrect objective calculation for SIRT

Open MargaretDuff opened this issue 1 year ago • 1 comments

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())

MargaretDuff avatar Apr 23 '24 10:04 MargaretDuff

@epapoutsellis - if you have a moment, please can you sense check this for me?

MargaretDuff avatar Apr 23 '24 10:04 MargaretDuff