什么是 dn(u, k)?
雅可比椭圆函数 dn(u, k) 被称为「delta 振幅」(delta amplitude),它与 sn、cn 一起构成三个基本的雅可比椭圆函数。这类函数可以看作普通三角函数的推广,在物理与工程领域无处不在:单摆的精确周期、非线性波动方程的孤立子解、刚体运动(欧拉方程)以及椭圆滤波器设计等等都会用到它们。本计算器可对任意实数自变量 u、以及位于 -1 到 1 之间的模 k 求出 dn 的值。
使用方法
输入自变量 u(任意实数)和模 k(需满足 -1 ≤ k ≤ 1)。由于 dn 只依赖于 \(k^2\),因此 k 的正负号不会影响计算结果。点击「计算」即可得到 dn(u, k)。在内部运算中,计算器会令参数 \(m = k^2\)。
公式详解
设 φ = am(u, m) 为振幅函数,它由第一类不完全椭圆积分 \(F(\varphi \mid m) = u\) 隐式定义。于是有 \(\operatorname{sn} = \sin(\varphi)\)、\(\operatorname{cn} = \cos(\varphi)\),以及 $$\operatorname{dn}(\text{u},\, \text{k}) = \sqrt{1 - \text{k}^{2}\,\operatorname{sn}^{2}(\text{u},\, \text{k})}$$ 我们采用降阶 Landen 变换 / 算术–几何平均(AGM)方法来数值求解 am(u, m),也就是经典的 Numerical Recipes「sncndn」算法。该方法具有二次收敛特性,在整个定义域上都能保持很高的精度。
计算示例
取 u = 4,k = 0.7,则 m = 0.49。此时振幅 am(4, 0.49) ≈ 3.4179 弧度,可得 sn(4, 0.7) ≈ -0.27156。于是 $$\operatorname{dn} = \sqrt{1 - 0.49 \times (-0.27156)^{2}} = \sqrt{1 - 0.036131} = \sqrt{0.963869} \approx \mathbf{0.981768}$$
常见问题
当 k = 0 时会怎样? 对任意 u,都有 \(\operatorname{dn}(u, 0) = 1\),因为此时含模的那一项消失,且 \(\operatorname{am}(u, 0) = u\)。
当 k = 1 时呢? 此时 $$\operatorname{dn}(\text{u},\, 1) = \operatorname{sech}\left(\text{u}\right) = \frac{1}{\cosh\left(\text{u}\right)}$$ 例如 \(\operatorname{dn}(4, 1) \approx 0.036644\)。
dn 的取值范围是多少? 当 |k| < 1 时,dn 恒为正值,并在最小值 \(k' = \sqrt{1 - k^2}\) 与最大值 1 之间振荡;最大值 1 出现在 u = 0(模 2K)处,其中 K 为第一类完全椭圆积分。