Python 基于随机系数的Healpy-spin-2映射

Python 基于随机系数的Healpy-spin-2映射,python,healpy,Python,Healpy,我需要为spin-2函数从random$a{\ellm}$生成Healpyx映射(使用Healpy) 从示意图上看,这应该是这样的: import healpy as hp nside = 16 # for example for el in range(1, L+1): #loop over ell mode for m in range(-el,el): #for each ell mode loop over m ind = hp.sphtfunc.Alm.ge

我需要为spin-2函数从random$a{\ellm}$生成Healpyx映射(使用Healpy)

从示意图上看,这应该是这样的:

import healpy as hp
nside = 16  # for example

for el in range(1, L+1): #loop over ell mode
    for m in range(-el,el): #for each ell mode loop over m
        ind = hp.sphtfunc.Alm.getidx(nside, el, m)
        if m == 0:
            a_lm[ind] = np.random.randn()
        else:
            a_lm[ind] = np.random.randn() + 1j * np.random.randn()

a_tmp = hp.sphtfunc.alm2map(a_lm, nside, pol=True)
我的两个问题是:

1) 我如何初始化一个lm?具体来说,使用

a_lm = np.zeros(???)
2) 如果我理解正确,那么输出
a_tmp
是一个一维列表。如何将其重塑为二维列表(地图)以进行打印?

1)您希望alm具有哪些属性?你也可以假设某个功率谱(C_ell)并使用or

对于初始化,您已经实现了
m
-ell
+ell
,因此您有一个长度为
sum\u 0^ell[2ell+1]
的一维数组。做数学应该给你所需要的长度

2) 对于绘图,您可以直接生成一个随机地图,然后使用例如,它采用1维HEALPix地图

或者,您可以使用将alm转换为地图

我还建议你检查一下地图