optim.pridu

Contents

optim.pridu#

bartorch.optim.pridu()#

Solve a regularized least-squares problem by a primal-dual iteration.

Minimizes \(\tfrac12 \| A x - y \|^2 + \sum_j g_j(G_j x)\) by Chambolle-Pock, keeping a dual variable per term whose linear transform is not the identity and applying the remaining term as a primal proximal step. Takes any number of regularizers, terms with a transform, and terms with auxiliary variables, and needs no inner solve.

Parameters:
  • y (tensor) – Data of A.oshape.

  • A (LinearOperator) – The encoding operator.

  • regularizers (Regularizer or ImplicitPrior, or an iterable of them, default=None) – The terms \(g_j\).

  • x0 (tensor, default=None) – Warm start of A.ishape; without one the iteration starts at zero.

  • **settings – Settings of PRIDU, among them maxiter (30), step and sigma_tau_ratio.

Returns:

Complex64 solution of A.ishape.

Return type:

torch.Tensor