我正在尝试对从模拟星系调查目录估计的密度场进行傅里叶变换。
基本上,你从一个星系位置列表开始,然后你将这些位置放在一些网格间距上,得到一个数组,其中包含相关空间体积中每个网格位置的权重。
因为我试图保留有关小空间尺度的信息,所以我想避免使用大箱子。不幸的是,这使得密度场的完整数组表示在内存上非常昂贵,因为有大量的空箱对于大多数目的来说是无关紧要的。
到目前为止,我一直在没有数组表示的情况下进行分箱,而是将数据保存在具有各自权重的坐标列表中。
但是,我的理解是,这不足以执行标准的 FFT 例程。我需要均匀分布的数据,我在这个表示中没有。
一个自然的选择可能是类似pynufft(因为我主要使用 Python)或nfft。
但是,我的情况似乎与标准的非均匀 FFT 有所不同;我不是在处理“非均匀采样”本身,而是我的采样是完全均匀的,但太大而无法存储显式零。
是否有任何 FFT 实现允许我不创建一个显式的零数组,或者至少利用我隐含地知道我的数据的稀疏表示中的“缺失”箱是零值的事实?