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 如果数组 z 的元素不在 (float32, float64)中。

  • ValueError 如果数组 z 不是 1D。

  • NotImplementedError 如果 m!=n。

返回类型:

Array