Skip to main content
`Ctrl`+`K`
scipy.fft.

# hfft2

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

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

  Parameters:
    x array

      Input array, taken to be Hermitian complex.

    s sequence of ints, optional

      Shape of the real output.

    axes sequence of ints, optional

      Axes over which to compute the FFT.

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

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

    overwrite_x bool, optional

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

    workers int, 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.

    plan object, 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:
    out ndarray

      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.]])