根据pyfftw.FFTW
该类的文档,设置FFTW_FORWARD
从float32
到的转换complex64
是一个例外方案。
但是,这个简单的设置示例设置了一个错误:
import numpy as np
from pyfftw import FFTW, zeros_aligned
x = np.random.rand(2**16).astype('float32')
fx_ = zeros_aligned(x.shape, dtype='float32')
Fx_ = zeros_aligned(x.shape, dtype='complex64')
fft = FFTW(fx_, Fx_, direction='FFTW_FORWARD', threads=1)
输出:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-5-d3bbc28ef9bf> in <module>
3 Fx_ = zeros_aligned(x.shape, dtype='complex64')
4
----> 5 fft = FFTW(fx_, Fx_, direction='FFTW_FORWARD', threads=1)
pyfftw/pyfftw.pyx in pyfftw.pyfftw.FFTW.__cinit__()
ValueError: Invalid shapes: The input array and output array are invalid
complementary shapes for their dtypes.
我在这里想念什么?