optim.admm#
- bartorch.optim.admm()#
Solve a regularized least-squares problem by alternating direction multipliers.
Minimizes \(\tfrac12 \| A x - y \|^2 + \sum_j g_j(G_j x - b_j)\) by splitting each term, so it takes any number of regularizers and, unlike
ist()andfista(), terms whose linear transform \(G_j\) is not the identity – total variation among them – and terms with auxiliary variables. Each iteration solves its quadratic subproblem by conjugate gradients.- 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
ADMM, among themmaxiter(30),rhoandcg_maxiter(10).
- Returns:
Complex64 solution of
A.ishape.- Return type:
torch.Tensor