# jax.numpy.fft.ihfftΒΆ

jax.numpy.fft.ihfft(a, n=None, axis=-1, norm=None)[source]ΒΆ

Compute the inverse FFT of a signal that has Hermitian symmetry.

LAX-backend implementation of ihfft(). Original docstring below.

Parameters
• a (array_like) β Input array.

• n (int, optional) β Length of the inverse FFT, the number of points along transformation axis in the input to use. If n is smaller than the length of the input, the input is cropped. If it is larger, the input is padded with zeros. If n is not given, the length of the input along the axis specified by axis is used.

• axis (int, optional) β Axis over which to compute the inverse FFT. If not given, the last axis is used.

• norm ({None, "ortho"}, optional) β Normalization mode (see numpy.fft). Default is None.

Returns

out β The truncated or zero-padded input, transformed along the axis indicated by axis, or the last one if axis is not specified. The length of the transformed axis is n//2 + 1.

Return type

complex ndarray

See also

Notes

hfft/ihfft are a pair analogous to rfft/irfft, but for the opposite case: here the signal has Hermitian symmetry in the time domain and is real in the frequency domain. So here itβs hfft for which you must supply the length of the result if it is to be odd:

• even: ihfft(hfft(a, 2*len(a) - 2) == a, within roundoff error,

• odd: ihfft(hfft(a, 2*len(a) - 1) == a, within roundoff error.

Examples

>>> spectrum = np.array([ 15, -4, 0, -1, 0, -4])
>>> np.fft.ifft(spectrum)
array([1.+0.j,  2.+0.j,  3.+0.j,  4.+0.j,  3.+0.j,  2.+0.j]) # may vary
>>> np.fft.ihfft(spectrum)
array([ 1.-0.j,  2.-0.j,  3.-0.j,  4.-0.j]) # may vary