nlcpy.fft.fft
- nlcpy.fft.fft(a, n=None, axis=- 1, norm=None)[source]
- Computes the one-dimensional discrete fourier transform. - This function computes the one-dimensional n-point discrete fourier transform (DFT) with the efficient fast fourier transform (FFT) algorithm. - Parameters
- aarray_like
- Input array, can be complex. 
- nint,optional
- Length of the transformed axis of the output. If n is smaller than the length of the input, the input is cropped. If it is larger, the input is padded with zeros. If n is not given, the length of the input along the axis specified by axis is used. 
- axisint,optional
- Axis over which to compute the FFT. If not given, the last axis is used. If axis is larger than the last axis of a, IndexError occurs. 
- norm{None, “ortho”},optional
- Normalization mode. By default(None), the transforms are unscaled. It norm is set to “ortho”, the return values will be scaled by - . 
 
- Returns
- outcomplex ndarray
- The truncated or zero-padded input, transformed along the axis indicated by axis , or the last one if axis is not specified. 
 
 - See also - ifft
- Computes the one-dimensional inverse discrete fourier transform. 
- fft2
- Computes the 2-dimensional discrete fourier transform. 
- fftn
- Computes the n-dimensional discrete fourier transform. 
- rfftn
- Computes the n-dimensional discrete fourier transform for a real array. 
- fftfreq
- Returns the discrete fourier transform sample frequencies. 
 - Note - FFT (fast fourier transform) refers to a way the discrete fourier transform (DFT) can be calculated efficiently, by using symmetries in the calculated terms. The symmetry is highest when n is a power of 2, and the transform is therefore most efficient for these sizes. - Examples - >>> import nlcpy as vp >>> vp.fft.fft(vp.exp(2j * vp.pi * vp.arange(8) / 8)) array([-3.44509285e-16+1.14423775e-17j, 8.00000000e+00-8.52069395e-16j, 2.33486982e-16+1.22464680e-16j, 0.00000000e+00+1.22464680e-16j, 9.95799250e-17+2.33486982e-16j, 0.00000000e+00+1.17281316e-16j, 1.14423775e-17+1.22464680e-16j, 0.00000000e+00+1.22464680e-16j]) - In this example, real input has an FFT which is Hermitian, i.e., symmetric in the real part and anti-symmetric in the imaginary part: - >>> import matplotlib.pyplot as plt >>> t = vp.arange(256) >>> sp = vp.fft.fft(vp.sin(t)) >>> freq = vp.fft.fftfreq(t.shape[-1]) >>> _ = plt.plot(freq, sp.real, freq, sp.imag) >>> plt.show() 