量子物理学と大学の数学について私が覚えていることから、すべてのモードl
に対して が存在しm = l-1, l, l+1
ます。なぜ helpix (私の場合、具体的にはhelppy ) 球面調和ルーチン (たとえば、とhealpy.sphtfunc.alm2map
の配列を同じ長さで返す) を行うのですか?l
m
質問する
922 次
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 = 2
はm
です[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
は保存されません(したがって、それらの値のみ)。alm
m<0
l+1
alm
によって返される配列で、hp.map2alm
アンドレアの例は、順序付けが増加してm
から増加することを示していl
ます。便利な関数を使用できる(l≥0,m≥0)
配列内のインデックスを知るために、簿記を行う必要はありません。alm
hp.Alm.getidx(lmax,l,m)
lmax = hp.Alm.getlmax(len(alm))
于 2019-07-10T03:04:28.903 に答える