この計算機でできること
このツールは、任意の実数の引数 \(u\) と 0〜1 の範囲の母数 \(k\) に対して、ヤコビの楕円関数 \(\operatorname{sn}(u,k)\)・\(\operatorname{cn}(u,k)\)・\(\operatorname{dn}(u,k)\) の3つを計算します。これらは三角関数を一般化した関数で、物理や工学のさまざまな場面に登場します。たとえば振り子の厳密な運動、ソリトン(KdV方程式やサイン・ゴルドン方程式)、楕円フィルタの設計、等角写像などです。
母数・パラメータ・角度の表記について
表記法には注意が必要です。本計算機では 母数 \(k\)(\(0 \le k \le 1\))を用います。関連するパラメータは \(m = k^2\)、モジュラー角は \(\alpha = \arcsin(k)\) です。お手元の資料が \(m\) や \(\alpha\) で書かれている場合は、まず \(k = \sqrt{m}\) または \(k = \sin(\alpha)\) で変換してください。引数 \(u\) およびすべての角度はラジアンで扱います。
使い方
引数 \(u\)(任意の実数)と、0〜1 の範囲の母数 \(k\) を入力すると、sn・cn・dn が表示されます。結果欄には2つの定義恒等式の値も表示され、いずれも 1 になるはずです。これは計算精度を確認するための仕組みです。
定義式とアルゴリズム
振幅 \(\varphi = \operatorname{am}(u,k)\) は、$$u = \int_{0}^{\varphi} \frac{d\theta}{\sqrt{1 - k^2 \sin^2\theta}}$$ によって暗黙的に定義されます。これを用いて \(\operatorname{sn} = \sin(\varphi)\)、\(\operatorname{cn} = \cos(\varphi)\)、\(\operatorname{dn} = \sqrt{1 - k^2 \sin^2\varphi}\) が求まります。本計算機は、この積分を降下ランデン変換/算術幾何平均(AGM)法によって反転させます。この方法は2次収束で、約9ステップで倍精度に到達します。極限の場合、すなわち \(k = 0\)(\(\operatorname{sn} = \sin u,\ \operatorname{cn} = \cos u,\ \operatorname{dn} = 1\))と \(k = 1\)(\(\operatorname{sn} = \tanh u,\ \operatorname{cn} = \operatorname{dn} = \operatorname{sech} u\))については、AGM の退化を避けるためそれぞれの閉形式で処理しています。
計算例
\(u = 1.0\)、\(k = 0.5\)(よって \(m = 0.25\))としましょう。振幅は \(\operatorname{am}(1, 0.5) \approx 0.95985\) rad となり、\(\operatorname{sn} \approx 0.81962\)、\(\operatorname{cn} \approx 0.57280\)、$$\operatorname{dn} = \sqrt{1 - 0.25 \cdot 0.81962^2} \approx 0.91217$$ が得られます。2つの恒等式もきちんと成り立ちます。\(\operatorname{sn}^2 + \operatorname{cn}^2 \approx 1\)、\(\operatorname{dn}^2 + k^2\operatorname{sn}^2 \approx 1\) です。
よくある質問
周期はいくつですか? sn と cn の実周期は \(4K(k)\)、dn の周期は \(2K(k)\) です。ここで \(K(k)\) は第一種完全楕円積分です。
値の取りうる範囲は? \(|\operatorname{sn}| \le 1\)、\(|\operatorname{cn}| \le 1\)、そして \(k' \le \operatorname{dn} \le 1\) です。ここで \(k' = \sqrt{1 - k^2}\) は補母数です。
k は 1 より大きくできますか? 実数値のヤコビ関数には \(0 \le k \le 1\) が必要です。この範囲外の \(k\) は有効区間に丸められます。