jax.scipy.special.lpmn_values#

jax.scipy.special.lpmn_values(m, n, z, is_normalized)[原始碼]#

第一類連帶勒壤得多函數 (ALF)。

lpmn 不同,此函數僅計算 ALF 的值。第一類 ALF 可用於球諧函數。度為 l 且階為 m 的球諧函數可以寫成 \(Y_l^m(\theta, \phi) = N_l^m * P_l^m(\cos \theta) * \exp(i m \phi)\),其中 \(N_l^m\) 是正規化因子,θ 和 φ 分別是餘緯和經度。\(N_l^m\) 的選擇方式是使球諧函數形成 \(L^2(S^2)\) 的正交基函數集。正規化 \(P_l^m\) 可以避免溢位/下溢,並實現更好的數值穩定性。

參數:
  • m (int) – 連帶勒壤得多函數的最大階數。

  • n (int) – 連帶勒壤得多函數的最大度數,在描述 ALF 時通常稱為 l。度數和階數均為 [0, 1, 2, …, l_max],其中 l_max 表示最大度數。

  • z (Array) – 類型為 float32float64 的向量,包含計算 ALF 的取樣點。

  • is_normalized (bool) – 如果連帶勒壤得多函數已正規化,則為 True。透過正規化,應用 \(N_l^m\),使球諧函數形成 \(L^2(S^2)\) 的正交基函數集。

傳回:

形狀為 (l_max + 1, l_max + 1, len(z)) 的 3D 陣列,包含第一類連帶勒壤得多函數的值。傳回類型與 z 的類型相符。

引發:
  • TypeError if elements of array z are not in (float32, float64).

  • ValueError if array z is not 1D.

  • NotImplementedError if m!=n.

傳回類型:

Array