Margaret Duff
Margaret Duff
## Describe your changes SAG and SAGA approximate gradient methods ## Describe any testing you have performed *Please add any demo scripts to [CIL-Demos/misc/](https://github.com/TomographicImaging/CIL-Demos/tree/main/misc)* ## Link relevant issues Closes #1342...
Currently a draft for discussion purposes TODO: - [x] testing the preconditioners - [x] Unit tests for the preconditioners - [x] Documentation for the preconditioners - [x] Unit tests for...
## Description Closes #1793 Looks better ``` Help on class Algorithm in module cil.optimisation.algorithms.Algorithm: class Algorithm(builtins.object) | Algorithm(update_objective_interval=1, max_iteration=None, log_file=None) | | Base class for iterative algorithms that provides the...
## Description Adds a `__neg__` function in the Function class. e.g. we can now write `f = - SVRGFunction(fi)` f instead of `f = -1*SVRGFunction(fi)`. We already have this for...
## Describe your changes SVRG and LSVRG approximate gradient methods Implements: SVRG - https://proceedings.neurips.cc/paper/2013/file/ac1dd209cbcc5e5d1c6e28598e8cbbe8-Paper.pdf - https://github.com/epapoutsellis/StochasticCIL/blob/svrg/Wrappers/Python/cil/optimisation/functions/SVRGFunction.py LSVRG - https://github.com/epapoutsellis/StochasticCIL/blob/svrg/Wrappers/Python/cil/optimisation/functions/SVRGFunction.py - ## Describe any testing you have performed *Please add any...
## Changes - Changed the SIRT `objective_function` to match the mathematics - it is now a weighted least squares calculation i.e. $0.5*(Ax-b)^M(Ax-b)$ were $M=\frac{1}{A*\mathbb{1}}$. - Updated the documentation to explain...
## 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 ```python def update_objective(self): r"""Returns the...
As required for the stochastic paper and discussed with @paskino, @epapoutsellis, @casperdcl and @KrisThielemans. Linked to https://github.com/TomographicImaging/CIL/issues/1588 and https://github.com/TomographicImaging/CIL/issues/1586
## Describe your changes - Allow SPDHG to take a sampler either from our sampler class or any class with a next(self) function - Deprecated prob from SPDHG, taking the...
We want to avoid untested and unmaintained code examples in the documentation. These should be moved to separate files, run automatically (and tested) and inserted in the documentation correctly. For...