# scipy.fftpack.hilbert

scipy.fftpack.hilbert(x, _cache={})

  Return Hilbert transform of a periodic sequence x.

  If x_j and y_j are Fourier coefficients of periodic functions x and y, respectively, then:

      y_j = sqrt(-1)*sign(j) * x_j
      y_0 = 0

  Parameters:
    x array_like

      The input array, should be periodic.

    _cache dict, optional

      Dictionary that contains the kernel used to do a convolution with.

  Returns:
    y ndarray

      The transformed input.

  See also

  `scipy.signal.hilbert`

    Compute the analytic signal, using the Hilbert transform.

  Notes

  If `sum(x, axis=0) == 0` then `hilbert(ihilbert(x)) == x`.

  For even len(x), the Nyquist mode of x is taken zero.

  The sign of the returned transform does not have a factor -1 that is more often than not found in the definition of the Hilbert transform. Note also that `scipy.signal.hilbert` does have an extra -1 factor compared to this function.