mrpro.operators.ProximableFunctionalSeparableSum

class mrpro.operators.ProximableFunctionalSeparableSum(*functionals: ProximableFunctional)[source]

Bases: Operator[Unpack[tuple[Tensor, …]], tuple[Tensor]]

Separabke Sum of Proximable Functionals.

This is a separable sum of the functionals. The forward method returns the sum of the functionals evaluated at the inputs, \(\sum_i f_i(x_i)\).

__init__(*functionals: ProximableFunctional) None[source]

Initialize the separable sum of proximable functionals.

Parameters:

functionals – The proximable functionals to be summed.

forward(*x: Tensor) tuple[Tensor][source]

Apply the functionals to the inputs.

Parameters:

x – The inputs to the functionals

Return type:

The sum of the functionals applied to the inputs

prox(*x: Tensor, sigma: float | Tensor = 1) tuple[Tensor, ...][source]

Apply the proximal operators of the functionals to the inputs.

Parameters:
  • x – The inputs to the proximal operators

  • sigma – The scaling factor for the proximal operators

Return type:

A tuple of the proximal operators applied to the inputs

prox_convex_conj(*x: Tensor, sigma: float | Tensor = 1) tuple[Tensor, ...][source]

Apply the proximal operators of the convex conjugate of the functionals to the inputs.

Parameters:
  • x – The inputs to the proximal operators

  • sigma – The scaling factor for the proximal operators

Return type:

A tuple of the proximal convex conjugate operators applied to the inputs