bundles / numpy 2.5.0.dev0+git20251130.2de293a / numpy / fft / fftn
_ArrayFunctionDispatcher
numpy.fft:fftn
source: build-install/usr/lib/python3.14/site-packages/numpy/fft/_pocketfft.py :755
Signature
def fftn ( a , s = None , axes = None , norm = None , out = None ) Summary
Compute the N-dimensional discrete Fourier Transform.
Extended Summary
This function computes the N-dimensional discrete Fourier Transform over any number of axes in an M-dimensional array by means of the Fast Fourier Transform (FFT).
Parameters
a: array_likeInput array, can be complex.
s: sequence of ints, optionalShape (length of each transformed axis) of the output (
s[0]refers to axis 0,s[1]to axis 1, etc.). This corresponds tonforfft(x, n). Along any axis, if the given shape is smaller than that of the input, the input is cropped. If it is larger, the input is padded with zeros.If
sis not given, the shape of the input along the axes specified byaxesis used.axes: sequence of ints, optionalAxes over which to compute the FFT. If not given, the last
len(s)axes are used, or all axes ifsis also not specified. Repeated indices inaxesmeans that the transform over that axis is performed multiple times.norm: {"backward", "ortho", "forward"}, optionalNormalization mode (see numpy.fft). Default is "backward". Indicates which direction of the forward/backward pair of transforms is scaled and with what normalization factor.
out: complex ndarray, optionalIf provided, the result will be placed in this array. It should be of the appropriate shape and dtype for all axes (and hence is incompatible with passing in all but the trivial
s).
Returns
out: complex ndarrayThe truncated or zero-padded input, transformed along the axes indicated by
axes, or by a combination ofsanda, as explained in the parameters section above.
Raises
: ValueErrorIf
sandaxeshave different length.: IndexErrorIf an element of
axesis larger than than the number of axes ofa.
Notes
The output, analogously to fft, contains the term for zero frequency in the low-order corner of all axes, the positive frequency terms in the first half of all axes, the term for the Nyquist frequency in the middle of all axes and the negative frequency terms in the second half of all axes, in order of decreasingly negative frequency.
See numpy.fft for details, definitions and conventions used.
Examples
import numpy as np a = np.mgrid[:3, :3, :3][0]✓
np.fft.fftn(a, axes=(1, 2)) np.fft.fftn(a, (2, 2), axes=(0, 1))✗
import matplotlib.pyplot as plt [X, Y] = np.meshgrid(2 * np.pi * np.arange(200) / 12, 2 * np.pi * np.arange(200) / 34) S = np.sin(X) + np.cos(Y) + np.random.uniform(0, 1, X.shape) FS = np.fft.fftn(S) plt.imshow(np.log(np.abs(np.fft.fftshift(FS))**2)) plt.show()✓

See also
- fft
The one-dimensional FFT, with definitions and conventions used.
- fft2
The two-dimensional FFT.
- fftshift
Shifts zero-frequency terms to centre of array
- ifftn
The inverse of
fftn, the inverse n-dimensional FFT.- numpy.fft
Overall view of discrete Fourier transforms, with definitions and conventions used.
- rfftn
The n-dimensional FFT of real input.
Aliases
-
numpy.fft.fftn