【发布时间】:2021-04-07 08:24:34
【问题描述】:
healpy 可以计算复值地图的球谐变换吗?
当我使用healpy.sphtfunc.map2alm 尝试此操作时,没有警告,但该函数仅针对 m>0 给出 a_{l,m}。这对于实值映射是有意义的,其中 a_{l,-m} = (-1)^m * a_{l,m}^*。但是对于复值函数,这种对称性是不存在的。
谢谢!
【问题讨论】:
healpy 可以计算复值地图的球谐变换吗?
当我使用healpy.sphtfunc.map2alm 尝试此操作时,没有警告,但该函数仅针对 m>0 给出 a_{l,m}。这对于实值映射是有意义的,其中 a_{l,-m} = (-1)^m * a_{l,m}^*。但是对于复值函数,这种对称性是不存在的。
谢谢!
【问题讨论】:
向 HEALPix C++ 的开发者 Martin Reinecke 提问,他的回答如下:
你可以做的是在实数和虚数上分别运行map2alm
地图的一部分;然后得到的a_lm 系数很简单
a_lm,real + i*a_lm,imag。如果你想要带负的系数m
同样,您需要在a_lm,real 上单独使用对称关系
和a_lm, imag,然后按照描述组合它们。
没有直接支持复值映射的原因是
这将使a_lm 处理和球谐变换
复杂得多,只是为了涵盖很少需要的情况(在
至少在最初使用healpy 的区域内)并且可以
如果确实需要,可以通过上述解决方法进行模拟。
Healpix 和 healpy 中的所有 a_lm 对象的设计方式都是
是+m 和-m 之间提到的对称性。对于带有 spin!=0 的数量
这种对称性也不存在,所以我们引入线性
alm_E 和 alm_B 的组合,它再次存在。
【讨论】: