scipy.fftpack.

fftn#

scipy.fftpack.fftn(x, shape=None, axes=None, overwrite_x=False)[Quelle]#

Gibt die mehrdimensionale diskrete Fouriertransformation zurück.

Das zurückgegebene Array enthält

y[j_1,..,j_d] = sum[k_1=0..n_1-1, ..., k_d=0..n_d-1]
   x[k_1,..,k_d] * prod[i=1..d] exp(-sqrt(-1)*2*pi/n_i * j_i * k_i)

wobei d = len(x.shape) und n = x.shape.

Parameter:
xarray_like

Das (N-D) Array, das transformiert werden soll.

shapeint oder Array-ähnlich von ints oder None, optional

Die Form des Ergebnisses. Wenn sowohl shape als auch axes (siehe unten) None sind, ist shape gleich x.shape; wenn shape None ist, aber axes nicht None ist, dann ist shape gleich numpy.take(x.shape, axes, axis=0). Wenn shape[i] > x.shape[i], wird die i-te Dimension mit Nullen aufgefüllt. Wenn shape[i] < x.shape[i], wird die i-te Dimension auf die Länge shape[i] gekürzt. Wenn ein Element von shape -1 ist, wird die Größe der entsprechenden Dimension von x verwendet.

axesint oder Array-ähnlich von ints oder None, optional

Die Achsen von x (y, wenn shape nicht None ist), entlang derer die Transformation angewendet wird. Standardmäßig werden alle Achsen verwendet.

overwrite_xbool, optional

Wenn True, kann der Inhalt von x zerstört werden. Standard ist False.

Rückgabe:
ykomplexwertiges N-D NumPy-Array

Die (N-D) DFT des Eingabearrays.

Siehe auch

ifftn

Hinweise

Wenn x reellwertig ist, dann gilt y[..., j_i, ...] == y[..., n_i-j_i, ...].conjugate().

Sowohl Single- als auch Double-Precision-Routinen sind implementiert. Halbpräzisions-Eingaben werden in Single-Precision konvertiert. Nicht-Fließkomma-Eingaben werden in Double-Precision konvertiert. Long-Double-Precision-Eingaben werden nicht unterstützt.

Beispiele

>>> import numpy as np
>>> from scipy.fftpack import fftn, ifftn
>>> y = (-np.arange(16), 8 - np.arange(16), np.arange(16))
>>> np.allclose(y, fftn(ifftn(y)))
True