【问题标题】:Healpy - spin-2 map from random coefficientsHealpy - 随机系数的旋转 2 映射
【发布时间】:2018-09-07 00:48:15
【问题描述】:

我需要从随机 $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 是一维列表。如何将其重塑为二维列表(地图)以进行绘图?

【问题讨论】:

    标签: python healpy


    【解决方案1】:

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

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

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

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

    我还建议您查看 tutorial 的绘图。

    【讨论】:

      猜你喜欢
      • 2013-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多