code: def ystep(self):
          r
  
          if self.opt['NonNegCoef'] or self.opt['NoBndryCross']:
              Y1 = self.block_sep1(self.Y)
              if self.opt['NonNegCoef']:
                  Y1[Y1 < 0.0] = 0.0
              if self.opt['NoBndryCross']:
                  for n in range(0, self.cri.dimN):
                      Y1[(slice(None),)*n +
                         (slice(1-self.D.shape[n], None),)] = 0.0
              self.block_sep1(self.Y)[:] = Y1
docs: r"""Minimise Augmented Lagrangian with respect to
          :math:`\mathbf{y}`.