§ <ˆj¡Î ã ó& — d Z g d¢ZddlZddlmZmZmZmZmZm Z ddl mZ ddl mZ ddlmZ ej ej d ¬ ¦ « Zd„ Zd„ Zd „ ZdddddœZd„ Zd'd„Z ee¦ « d(d„¦ « Z ee¦ « d(d„¦ « Z ee¦ « d(d„¦ « Z ee¦ « d(d„¦ « Z ee¦ « d(d„¦ « Z ee¦ « d(d„¦ « Zd)d„Zddedfd„Zd'd„Z ee ¦ « d'd„¦ « Z! ee ¦ « d'd„¦ « Z" ee ¦ « d*d!„¦ « Z# ee ¦ « d*d"„¦ « Z$ ee ¦ « d'd#„¦ « Z% ee ¦ « d*d$„¦ « Z& ee ¦ « d'd%„¦ « Z' ee ¦ « d*d&„¦ « Z(dS )+a} Discrete Fourier Transforms Routines in this module: fft(a, n=None, axis=-1, norm="backward") ifft(a, n=None, axis=-1, norm="backward") rfft(a, n=None, axis=-1, norm="backward") irfft(a, n=None, axis=-1, norm="backward") hfft(a, n=None, axis=-1, norm="backward") ihfft(a, n=None, axis=-1, norm="backward") fftn(a, s=None, axes=None, norm="backward") ifftn(a, s=None, axes=None, norm="backward") rfftn(a, s=None, axes=None, norm="backward") irfftn(a, s=None, axes=None, norm="backward") fft2(a, s=None, axes=(-2,-1), norm="backward") ifft2(a, s=None, axes=(-2, -1), norm="backward") rfft2(a, s=None, axes=(-2,-1), norm="backward") irfft2(a, s=None, axes=(-2, -1), norm="backward") i = inverse transform r = transform of purely real data h = Hermite transform n = n-dimensional transform 2 = 2-dimensional transform (Note: 2D routines are just nD routines with different default behavior.) )ÚfftÚifftÚrfftÚirfftÚhfftÚihfftÚrfftnÚirfftnÚrfft2Úirfft2Úfft2Úifft2ÚfftnÚifftné N)ÚasarrayÚzerosÚswapaxesÚ conjugateÚtakeÚsqrté )Ú_pocketfft_internal)Únormalize_axis_index)Ú overridesz numpy.fft)Úmodulec ó¢ — t || j ¦ « }|€ | j | }d|z }| j | |k rµt | j ¦ « }t d ¦ « gt |¦ « z }|| |k r)t d|¦ « ||<