0

量子物理学と大学の数学について私が覚えていることから、すべてのモードlに対して が存在しm = l-1, l, l+1ます。なぜ helpix (私の場合、具体的にはhelppy ) 球面調和ルーチン (たとえば、とhealpy.sphtfunc.alm2mapの配列を同じ長さで返す) を行うのですか?lm

4

2 に答える 2

4

を指していると思いますmap2alm

例を確認しましょう:

import numpy as np
import healpy as hp
m = np.arange(12) # define a map
lmax = 2
alm = hp.map2alm(m, lmax=lmax) # spherical armonic transform
print(alm)
[  1.94198894e+01 +0.00000000e+00j  -1.22780488e+01 +0.00000000e+00j
  -3.22928935e-01 +0.00000000e+00j   6.85510448e-01 -2.13069336e+00j
   4.66136940e-16 +6.36302781e-18j  -6.44680479e-01 +1.16180552e+00j]
print(alm.shape)
(6,)

alm実際には 1D ベクトルもそうです。

almインデックスはどのように作成されますか?

l, m = hp.Alm.getlm(lmax=lmax)
print(l)
[0 1 2 1 2 2]
print(m)
[0 0 0 1 1 2]

したがって、l = 2mです[0, 1, 2]

詳細についてHEALPixは、HEALPix入門書を参照してください: http://healpix.jpl.nasa.gov/pdf/intro.pdf

于 2014-09-11T21:53:56.640 に答える
2

Andrea Zonca の回答から欠落しているビット:

  • すべてのモードlで、 の範囲mは実際には から-lまでです+l(そう2l+1です)。almしかし、反対の formが複素共役である実信号を扱っているため、 for の値HEALPixは保存されません(したがって、それらの値のみ)。almm<0l+1
  • almによって返される配列で、hp.map2almアンドレアの例は、順序付けが増加してmから増加することを示していlます。便利な関数を使用できる(l≥0,m≥0)配列内のインデックスを知るために、簿記を行う必要はありません。almhp.Alm.getidx(lmax,l,m)lmax = hp.Alm.getlmax(len(alm))
于 2019-07-10T03:04:28.903 に答える