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 themmaxiter(30),stepandsigma_tau_ratio.
- Returns:
Complex64 solution of
A.ishape.- Return type:
torch.Tensor