code: def xstep(self):
          r
  
          self.YU[:] = self.Y - self.U
  
          b = self.DSf + self.rho*sl.rfftn(self.YU, None, self.cri.axisN)
          if self.cri.Cd == 1:
              self.Xf[:] = sl.solvedbi_sm(self.Df, self.mu + self.rho,
                                          b, self.c, self.cri.axisM)
          else:
              self.Xf[:] = sl.solvemdbi_ism(self.Df, self.mu + self.rho, b,
                                            self.cri.axisM, self.cri.axisC)
  
          self.X = sl.irfftn(self.Xf, self.cri.Nv, self.cri.axisN)
  
          if self.opt['LinSolveCheck']:
              Dop = lambda x: sl.inner(self.Df, x, axis=self.cri.axisM)
              if self.cri.Cd == 1:
                  DHop = lambda x: np.conj(self.Df) * x
              else:
                  DHop = lambda x: sl.inner(np.conj(self.Df), x,
                                            axis=self.cri.axisC)
              ax = DHop(Dop(self.Xf)) + (self.mu + self.rho)*self.Xf
              self.xrrs = sl.rrs(ax, b)
          else:
              self.xrrs = None
docs: r"""Minimise Augmented Lagrangian with respect to
          :math:`\mathbf{x}`.