scipy.fftpack.next_fast_len¶
- scipy.fftpack.next_fast_len(target)[源代码]¶
查找输入数据的下一个快速大小
fft
、用于补零等。SciPy的FFTPACK具有基数{2,3,4,5}的有效函数,因此这将返回大于或等于的下一个素因数2、3和5的组合 target 。(这些也称为5-光滑数、正规数或Hamming数。)
- 参数
- target集成
开始搜索的长度。必须是正整数。
- 退货
- out集成
大于或等于的前5个光滑数 target 。
注意事项
0.18.0 新版功能.
示例
在特定机器上,素数长度的FFT需要133毫秒:
>>> from scipy import fftpack >>> rng = np.random.default_rng() >>> min_len = 10007 # prime length is worst case for speed >>> a = rng.standard_normal(min_len) >>> b = fftpack.fft(a)
将零填充到下一个5平滑长度将计算时间减少到211 us,加速比为630倍:
>>> fftpack.helper.next_fast_len(min_len) 10125 >>> b = fftpack.fft(a, 10125)
四舍五入到2的下一个幂不是最优的,需要367我们来计算,是5平滑大小的1.7倍:
>>> b = fftpack.fft(a, 16384)