【问题标题】:Cls for fields generated with synalm disagree with input Cls and Cls for fields generated using synfast使用 synalm 生成的字段的 Cls 与使用 synfast 生成的字段的输入 Cls 和 Cls 不一致
【发布时间】:2019-06-12 22:12:26
【问题描述】:

我正在从输入角功率谱 Cl 生成随机 healpix 图。如果我使用healpy.synalm,然后使用healpy.alm2map,最后通过在生成的地图上运行healpy.anafast来测试地图,输出和输入功率谱不一致,尤其是在高l时,输出功率谱高于输入(See plot produced by code below)。如果我直接使用healpy.synfast,我会得到一个与输入一致的输出功率谱。如果我使用来自healpy.synfast 的alms 并使用healpy.alm2map 从synfast alms 生成地图,这同样适用。当我查看synfast的源代码时,似乎只是调用了synalm和alm2map,所以我不明白,为什么他们的结果不一致。我的测试代码如下所示:

import numpy as np
import matplotlib.pyplot as plt
import classy
import healpy as hp

NSIDE = 32


A_s=2.3e-9
n_s=0.9624
h=0.6711
omega_b=0.022068
omega_cdm=0.12029

params = {
'output': 'dCl, mPk',
'A_s': A_s,
'n_s': n_s,
'h': h,
'omega_b': omega_b,
'omega_cdm': omega_cdm,
'selection_mean': '0.55',
'selection_magnification_bias_analytic': 'yes',
'selection_bias_analytic': 'yes',
'selection_dNdz_evolution_analytic': 'yes'}

cosmo = classy.Class()
cosmo.set(params)
cosmo.compute()
theory_cl=cosmo.density_cl()['dd']

data_map,data_alm=hp.synfast(theory_cl[0],NSIDE,alm=True)
data_cl=hp.anafast(data_map)
plt.plot(np.arange(len(data_cl)),data_cl,label="synfast")
data_map=hp.alm2map(data_alm,NSIDE)
data_cl=hp.anafast(data_map)
plt.plot(np.arange(len(data_cl)),data_cl,label="synfast using alm")

data_alm=hp.synalm(theory_cl[0])
data_map=hp.alm2map(data_alm,NSIDE)
data_cl=hp.anafast(data_map)
plt.plot(np.arange(len(data_cl)),data_cl,label="synalm")

plt.plot(np.arange(min(len(data_cl),len(theory_cl[0]))),theory_cl[0][:len(data_cl)],label="Theory")
plt.xlabel(r'$\ell$')
plt.ylabel(r'$C_\ell$')
plt.legend()
plt.show()

NSIDE 越低,偏移量越大。

非常感谢您的帮助。

【问题讨论】:

    标签: healpy


    【解决方案1】:

    对不起,我错过了 synfast 知道 NSIDE,所以 lmax 默认基于 NSIDE,而 synalm 不知道它,所以它将输入频谱的最大 l 作为 lmax。在 synalm 中将 lmax 设置为 3 * NSIDE -1 可以解决差异。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 2015-06-03
      • 2023-04-01
      • 2021-12-14
      相关资源
      最近更新 更多