bundles / scipy 1.17.1 / scipy / fft / _basic / ihfft
_Function
scipy.fft._basic:ihfft
source: /scipy/fft/_basic.py :559
Signature
def ihfft ( x , n = None , axis = -1 , norm = None , overwrite_x = False , workers = None , * , plan = None ) Summary
Compute the inverse FFT of a signal that has Hermitian symmetry.
Parameters
x: array_likeInput array.
n: int, optionalLength of the inverse FFT, the number of points along transformation axis in the input to use. If
nis smaller than the length of the input, the input is cropped. If it is larger, the input is padded with zeros. Ifnis not given, the length of the input along the axis specified byaxisis used.axis: int, optionalAxis over which to compute the inverse FFT. If not given, the last axis is used.
norm: {"backward", "ortho", "forward"}, optionalNormalization mode (see fft). Default is "backward".
overwrite_x: bool, optionalIf True, the contents of
xcan be destroyed; the default is False. See fft for more details.workers: int, optionalMaximum number of workers to use for parallel computation. If negative, the value wraps around from
os.cpu_count(). See fft for more details.plan: object, optionalThis argument is reserved for passing in a precomputed plan provided by downstream FFT vendors. It is currently not used in SciPy.
Returns
out: complex ndarrayThe truncated or zero-padded input, transformed along the axis indicated by
axis, or the last one ifaxisis not specified. The length of the transformed axis isn//2 + 1.
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.
Array API Standard Support
ihfft has experimental support for Python Array API Standard compatible backends in addition to NumPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing CuPy, PyTorch, JAX, or Dask arrays as array arguments. The following combinations of backend and device (or other capability) are supported.
==================== ==================== ==================== Library CPU GPU ==================== ==================== ==================== NumPy ✅ n/a CuPy n/a ✅ PyTorch ✅ ✅ JAX ✅ ✅ Dask ⚠️ computes graph n/a ==================== ==================== ====================
See
dev-arrayapifor more information.
Examples
from scipy.fft import ifft, ihfft import numpy as np spectrum = np.array([ 15, -4, 0, -1, 0, -4])✓
ifft(spectrum) ihfft(spectrum)✗
See also
- hfft
- irfft
Aliases
-
scipy.fft.ihfft