예제 #1
0
    def ystep(self):
        r"""Minimise Augmented Lagrangian with respect to
        :math:`\mathbf{y}`."""

        self.Y = np.asarray(sp.prox_sl1l2(
            self.AX + self.U, (self.lmbda / self.rho) * self.wl1,
            self.mu / self.rho, axis=-1), dtype=self.dtype)
        GenericBPDN.ystep(self)
예제 #2
0
파일: pdcsc.py 프로젝트: zhangyu233/sporco
    def ystep(self):
        r"""Minimise Augmented Lagrangian with respect to
        :math:`\mathbf{y}`.
        """

        self.Y = sp.prox_sl1l2(self.AX + self.U,
                               (self.lmbda / self.rho) * self.wl1,
                               (self.mu / self.rho), axis=self.cri.axisC)
        cbpdn.GenericConvBPDN.ystep(self)
예제 #3
0
파일: pdcsc.py 프로젝트: zhangyu233/sporco
    def ystep(self):
        r"""Minimise Augmented Lagrangian with respect to
        :math:`\mathbf{y}`.
        """

        AXU = self.AX + self.U
        Y0 = sp.prox_l1(self.block_sep0(AXU) - self.S, (1.0/self.rho)*self.W)
        Y1 = sp.prox_sl1l2(self.block_sep1(AXU), 0.0,
                           (self.lmbda/self.rho)*self.wl21,
                           axis=self.cri.axisC)
        self.Y = self.block_cat(Y0, Y1)
        cbpdn.ConvTwoBlockCnstrnt.ystep(self)
예제 #4
0
 def test_12(self):
     assert np.sum(np.abs(prox.prox_sl1l2(self.V1, 1e-2, 1e-2))) > 0
     assert prox.norm_nuclear(self.V1) > 0