CallbackStore

class odl.solvers.util.callback.CallbackStore(results=None, function=None, step=1)[source]

Bases: Callback

Callback for storing all iterates of a solver.

Can optionally apply a function, for example the norm or calculating the residual.

By default, calls the copy() method on the iterates before storing.

Methods

__call__(result)

Append result to results list.

reset()

Clear the results list.

__init__(results=None, function=None, step=1)[source]

Initialize a new instance.

Parameters:
resultslist, optional

List in which to store the iterates. Default: new list ([])

functioncallable, optional

Deprecated, use composition instead. See examples. Function to be called on all incoming results before storage. Default: copy

stepint, optional

Number of iterates between storing iterates.

Examples

Store results as-is:

>>> callback = CallbackStore()

Provide list to store iterates in:

>>> results = []
>>> callback = CallbackStore(results=results)

Store the norm of the results:

>>> norm_function = lambda x: x.norm()
>>> callback = CallbackStore() * norm_function