combine_proximals

odl.solvers.nonsmooth.proximal_operators.combine_proximals(*factory_list)[source]

Combine proximal operators into a diagonal product space operator.

This assumes the functional to be separable across variables in order to make use of the separable sum property of proximal operators.

Parameters:
factory_listsequence of callables

Proximal operator factories to be combined.

Returns:
diag_opfunction

Returns a diagonal product space operator factory to be initialized with the same step size parameter

Notes

That two functionals F and G are separable across variables means that F((x, y)) = F(x) and G((x, y)) = G(y), and in this case the proximal operator of the sum is given by

\mathrm{prox}_{\sigma (F(x) + G(y))}(x, y) =
(\mathrm{prox}_{\sigma F}(x), \mathrm{prox}_{\sigma G}(y)).