【发布时间】:2010-10-11 20:23:11
【问题描述】:
在我的 64 位 Debian/Lenny 系统(4GByte RAM + 4GByte 交换分区)上我可以成功:
v=array(10000*random([512,512,512]),dtype=np.int16)
f=fftn(v)
但是由于 f 是 np.complex128 ,内存消耗令人震惊,如果没有 MemoryError 回溯,我无法对结果做更多的事情(例如调制系数,然后是 f=ifftn(f) )。
除了安装更多的 RAM 和/或扩展我的交换分区之外,是否有某种方法可以控制 scipy/numpy “默认精度”并让它计算一个 complex64 数组?
我知道我可以在之后使用f=array(f,dtype=np.complex64) 减少它;我希望它实际上以 32 位精度和一半的内存完成 FFT 工作。
【问题讨论】:
标签: numpy scipy numerical matplotlib fft