1

根据pyfftw.FFTW该类的文档,设置FFTW_FORWARDfloat32到的转换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.

我在这里想念什么?

4

0 回答 0