code: def eval_grad(self):
          
  
          # Compute D X - S
          Ryf = self.eval_Rf(self.Yf)
          # Compute D^H Ryf
          gradf = np.conj(self.Df) * Ryf
  
          # Multiple channel signal, multiple channel dictionary
          if self.cri.Cd > 1:
              gradf = np.sum(gradf, axis=self.cri.axisC, keepdims=True)
  
          return gradf
docs: Compute gradient in Fourier domain.