L2L2Solver

class colibri.recovery.solvers.core.L2L2Solver(y, acquisition_model)[source]

Bases: Solver

Base class for linear solvers.

It describes the close-form solution of the optimization problem.

\[\min_{\textbf{x}} \frac{1}{2}||\textbf{y} - \textbf{H}\textbf{x}||_2^2 + \rho||\textbf{x} - \tilde{\textbf{x}}||_2^2\]
Parameters:
  • y (torch.Tensor) – Input tensor with shape (B, *)

  • acquisition_model (BaseOpticsLayer) – Acquisition model

solve(xtilde, rho)[source]

Solves the optimization problem by computing the following expression:

\[\hat{\textbf{x}} = (\textbf{H}^\top\textbf{H} + \rho \textbf{I})^{-1}(\textbf{H}^\top\textbf{y} + \rho \tilde{\textbf{x}})\]
Parameters:
  • xtilde (torch.Tensor) – Regularizaton tensor

  • rho (float) – Regularization parameter

Returns:

Recovered tensor

Return type:

torch.Tensor