<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def igft(self, s_hat):
 r"""Compute the inverse graph Fourier transform. The inverse graph Fourier transform of a Fourier domain signal :math:`\hat{s}` is defined as .. math:: s = U \hat{s}, where :math:`U` is the Fourier basis :attr:`U`. Parameters s_hat : array_like Graph signal in the Fourier domain. Returns ------- s : ndarray Representation of s_hat in the vertex domain. Examples -------- True """

        s_hat = self._check_signal(s_hat)
        return np.tensordot(self.U, s_hat, ([1], [0]))