在我的64位Debian/Lenny系统(4GByte RAM + 4GByte交换分区)上,我可以成功地做到:
v=array(10000*random([512,512,512]),dtype=np.int16)
f=fftn(v)
Run Code Online (Sandbox Code Playgroud)
但是f是一个np.complex128内存消耗是令人震惊的,我不能做更多的结果(例如调制系数然后f=ifftn(f))没有MemoryError回溯.
而不是安装更多的RAM和/或扩展我的交换分区,有没有办法控制scipy/numpy"默认精度"并让它计算一个complex64数组呢?
我知道我可以随后减少它f=array(f,dtype=np.complex64); 我希望它实际上以32位精度和一半内存进行FFT工作.