Healpy - 自旋系数的spin-2映射

时间:2018-03-28 10:57:42

标签: python healpy

我需要从随机的$ a _ {\ ell m} $生成一个Healpyx地图(使用Healpy),用于spin-2函数。

示意图,这应该是这样的:

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)如何初始化a_lm?具体来说,它的维度是什么,使用

a_lm = np.zeros(???)

2)如果我理解正确,输出a_tmp是一维列表。如何将其重塑为二维列表(地图)以进行绘图?

1 个答案:

答案 0 :(得分:0)

1)您希望您的alm拥有哪些属性?您也可以假定某个功率谱(C_ell)并使用hp.synalm()hp.synfast()

对于初始化,您已经实现https://maps.googleapis.com/maps/api/place/textsearch/json?query=White%20Line%20Roseville&key=YOUR_KEYm转到-ell,因此您拥有一个长度为+ell的一维数组。做数学应该给你你需要的长度。

2)对于绘图,您可以直接生成随机地图,然后使用例如hp.mollview(),其中包含 1 维度的HEALPix地图。

或者,您可以使用hp.alm2map()将您的alm转换为地图。

我还建议您查看tutorial以了解情节。