scipy.fft.

hfft2#

scipy.fft.hfft2(x, s=None, axes=(-2, -1), norm=None, overwrite_x=False, workers=None, *, plan=None)[source]#

Compute the 2-D FFT of a Hermitian complex array.

Parameters:
xarray

Input array, taken to be Hermitian complex.

ssequence of ints, optional

Shape of the real output.

axessequence of ints, optional

Axes over which to compute the FFT.

norm{“backward”, “ortho”, “forward”}, optional

Normalization mode (see fft). Default is “backward”.

overwrite_xbool, optional

If True, the contents of x can be destroyed; the default is False. See fft for more details.

workersint, optional

Maximum number of workers to use for parallel computation. If negative, the value wraps around from os.cpu_count(). See fft for more details.

planobject, optional

This argument is reserved for passing in a precomputed plan provided by downstream FFT vendors. It is currently not used in SciPy.

Added in version 1.5.0.

Returns:
outndarray

The real result of the 2-D Hermitian complex real FFT.

See also

hfftn

Compute the N-D discrete Fourier Transform for Hermitian complex input.

Notes

This is really just hfftn with different default behavior. For more details see hfftn.

Array API Standard Support

hfft2 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 Support for the array API standard for more information.

Examples

>>> import scipy.fft
>>> import numpy as np
>>> x = np.array([[1+0j, 2+0j], [2+0j, 1+0j]])  # Hermitian-symmetric input
>>> scipy.fft.hfft2(x, s=(2, 2))
array([[ 6.,  0.],
       [ 0., -2.]])