ヤコビの楕円関数 nd とは
ヤコビの楕円関数 sn・cn・dn は、通常の三角関数を一般化したもので、第一種不完全楕円積分を逆に解くことで得られます。関数 nd(u, k) は、デルタ振幅関数 dn の逆数として \(\operatorname{nd}(u,k) = 1 / \operatorname{dn}(u,k)\) と定義されるシンプルな関数です。実数の偏角 u と楕円母数 k に依存します(ここで使うのは母数 k であり、母数の平方であるパラメータ \(m = k^{2}\) や母数角ではない点に注意してください)。
この計算機の使い方
偏角 u(任意の実数)と母数 k(通常は 0 ≤ k ≤ 1)を入力してください。約10桁の有効数字で nd(u, k) を返すとともに、計算過程で得られる dn(u, k) と sn(u, k) の値も表示します。
計算式の解説
\(m = k^{2}\) とおくと、振幅は \(\phi = \operatorname{am}(u, k)\) であり、 $$\operatorname{dn}(u,k) = \sqrt{1 - m\cdot\operatorname{sn}^{2}(u, k)}$$ となります。sn の値は算術幾何平均(AGM)と降下ランデン変換を用いて求めます。具体的には、\(a_{0}=1\)、\(b_{0}=\sqrt{1-m}\)、\(c_{0}=k\) から始まる数列 a、b、c を作り、c が無視できるほど小さくなるまで AGM を反復します。その後、角 \(\phi = 2^{N}\cdot a_{N}\cdot u\) を降下させて元に戻します。最後に \(\operatorname{nd} = 1 / \operatorname{dn}\) を計算します。
計算例
\(u = 0.5\)、\(k = 0.5\)(\(m = 0.25\))の場合:\(\operatorname{sn} \approx 0.479262\) となるので、 $$\operatorname{dn} = \sqrt{1 - 0.25\cdot 0.479262^{2}} \approx 0.970864$$ よって \(\operatorname{nd} = 1 / 0.970864 \approx 1.0300\) となります。
よくある質問
k = 0 のときはどうなりますか? 任意の u について \(\operatorname{dn}(u, 0) = 1\) なので、\(\operatorname{nd}(u, 0) = 1\)(厳密値)となります。
k = 1 のときは? \(\operatorname{dn}(u, 1) = \operatorname{sech}(u) = 1/\cosh(u)\) なので、\(\operatorname{nd}(u, 1) = \cosh(u)\) となります。
nd が定義されない場合はありますか? 0 ≤ k < 1 のとき、dn は下限 \(\sqrt{1 - k^{2}} > 0\) を持つため、nd は常に有限です。dn が 0 に近づくのは k = 1 のとき(\(u \to \pm\infty\))のみで、このとき nd は限りなく大きくなります。