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)