最近,我使用python使用了healpy的函数synfast。更具体地说,我使用它的参数lmax,它设置要计算的最大模式(默认值: lmax = 3*nside-1)。正如您将看到的那样,我还使用了ud_grade函数。
我探索了几种情况,在这些情况下,我用synfast从等于单位的平坦光谱(在温度TT和极化度EE和BB中)生成了非常简单的地图。然后用anafast从这些地图中计算出光谱。我发现,在所有情况下,我们都不能恢复初始输入谱,如下图所示。
在所有这些情况下,我将synfast的像素参数设置为True,然后使用函数pixwin(nside=128)校正anafast的输出信号。
synfast(nside=128, lmax=3*128-1) => anafast(lmax=3*128-1)synfast(nside=256, lmax=3*256-1) => ud_grade(256->128) => anafast(lmax=3*128-1)synfast(nside=256, lmax=3*128-1 ) => ud_grade(256->128) => anafast(lmax=3*128-1)synfast(nside=128, lmax=4*128-1 ) => anafast(lmax=3*128-1)synfast(nside=128, lmax=10*128-1 ) => anafast(lmax=3*128-1)synfast,它不允许lmax大于4*128-1,并设置lmax=4*128-1,即使我们要求更高的lmax。有人对这种行为有什么解释吗?
以及如何恢复初始输入谱?
提前谢谢你
发布于 2017-12-17 18:52:36
这就是ud_grade的预期影响,它是一种破坏性的操作,你在一定的尺度上消除信号,实际上你恢复了一个与白噪声一致的偏差。
https://stackoverflow.com/questions/47858199
复制相似问题