首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自随机系数的Healpy - spin-2映射

来自随机系数的Healpy - spin-2映射
EN

Stack Overflow用户
提问于 2018-03-28 18:57:42
回答 1查看 118关注 0票数 2

我需要为自旋2函数从随机$a_{\ell m}$生成一个Healpyx图(使用Healpy)。

从原理上讲,这应该是这样的:

代码语言:javascript
复制
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?具体地说,它的维度是什么?

代码语言:javascript
复制
a_lm = np.zeros(???)

2)如果我没理解错的话,输出的a_tmp是一个一维列表。如何将其重塑为用于绘图的二维列表(地图)?

EN

回答 1

Stack Overflow用户

发布于 2018-03-29 07:21:14

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

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

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

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

我还建议您查看绘图的tutorial

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49532723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档