ADMMEqual

ADMMEqual specialises ADMM to the case \(A = I\), \(B = -I\), and \(\mathbf{c} = \mathbf{0}\), for solving problems of the form

\[\mathrm{argmin}_{\mathbf{x},\mathbf{y}} \; f(\mathbf{x}) + g(\mathbf{y}) \;\mathrm{such\;that}\; \mathbf{x} = \mathbf{y} \;\;.\]

See admm.bpdn.BPDN as an example of a class derived from ADMMEqual.

The methods and attributes that should be overridden or defined are largely the same is described in ADMM, except that the specialisation removes the need for derived classes to override ADMMEqual.cnst_A, ADMMEqual.cnst_AT, ADMMEqual.cnst_B, and ADMMEqual.cnst_c. These differences are described in the following sections.

Update Steps

The ADMM updates steps in ADMMEqual are effectively (via the constraint definition methods):

  • ADMM.xstep

    Solve

    \[\mathbf{x}^{(j+1)} = \mathrm{argmin}_{\mathbf{x}} \;\; f(\mathbf{x}) + \frac{\rho}{2} \left\| \mathbf{x} - \left(\mathbf{y}^{(j)} - \mathbf{u}^{(j)} \right) \right\|_2^2\]
  • ADMM.ystep

    Solve

    \[\mathbf{y}^{(j+1)} = \mathrm{argmin}_{\mathbf{y}} \;\; g(\mathbf{y}) + \frac{\rho}{2} \left\| \mathbf{y} - \left( \mathbf{x}^{(j+1)} + \mathbf{u}^{(j)} \right) \right\|_2^2\]
  • ADMM.ustep

    Update dual variable

    \[\mathbf{u}^{(j+1)} = \mathbf{u}^{(j)} + \mathbf{x}^{(j+1)} - \mathbf{y}^{(j+1)}\]

As discussed in Update Steps, it is usually not necessary to override ADMM.ustep.

Residual Evaluation

The residual evaluation methods in ADMMEqual are effectively (via the constraint definition methods):

  • ADMM.rsdl_r

    Compute primal residual

    \[\mathbf{r} = \mathbf{x}^{(j+1)} - \mathbf{y}^{(j+1)}\]
  • ADMM.rsdl_s

    Compute dual residual

    \[\mathbf{s} = \rho (\mathbf{y}^{(j)} - \mathbf{y}^{(j+1)})\]
  • ADMM.rsdl_rn

    Compute primal residual normalisation factor

    \[\mathrm{rn} = \mathrm{max}(\|\mathbf{x}^{(j+1)}\|_2, \|\mathbf{y}^{(j+1)}\|_2)\]
  • ADMM.rsdl_sn

    Compute dual residual normalisation factor

    \[\mathrm{sn} = \rho \|\mathbf{u}^{(j+1)} \|_2\]

These methods need not be overridden since the constraint definition methods in Constraint Definition are defined in ADMMEqual.