code: def ystep(self):
          r
  
          if self.opt['NonNegCoef']:
              self.Y[self.Y < 0.0] = 0.0
          if self.opt['NoBndryCross']:
              for n in range(0, self.cri.dimN):
                  self.Y[(slice(None),) * n +
                         (slice(1 - self.D.shape[n], None),)] = 0.0
docs: r"""Minimise Augmented Lagrangian with respect to :math:`\mathbf{y}`.
          If this method is not overridden, the problem is solved without
          any regularisation other than the option enforcement of
          non-negativity of the solution and filter boundary crossing
          supression. When it is overridden, it should be explicitly
          called at the end of the overriding method.