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
x : array_like
_cache : dict, optional
y : ndarray
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.