ヤコビの cd 関数とは
ヤコビの楕円関数 sn・cn・dn は、通常の三角関数を一般化したもので、物理学や工学のさまざまな場面に現れます。たとえば振り子の運動、ソリトン波、電気フィルタの設計、等角写像などです。cd(u, k) はこれらから導かれる比のひとつで、cn(u, k) を dn(u, k) で割った値として簡潔に定義されます。ここで u は引数、k は母数(モジュラス)と呼ばれる無次元の実数で、\(-1 \le k \le 1\) の範囲をとります。これは純粋数学であり、結果はどこで計算しても同一です。
計算機の使い方
引数 u(任意の実数)と、-1 〜 1 の範囲の母数 k を入力します。「計算」を押すと、cd(u, k) を高精度で求められます。cd は \(m = k^2\) のみに依存するため、k が負の値でもその絶対値と同じ結果になります。大きな引数も自動で処理されますので、u を手作業で簡約する必要はありません。
計算式の解説
まず楕円パラメータを \(m = k^2\) と置きます。振幅 \(\phi = \operatorname{am}(u, k)\) は、算術幾何平均(AGM)による降下ランデン変換で求めます。この方法は高速で数値的にも安定しています。続いて \(\operatorname{sn} = \sin\phi\)、\(\operatorname{cn} = \cos\phi\)、\(\operatorname{dn} = \sqrt{1 - m\cdot\operatorname{sn}^2}\) を計算し、最後に $$\operatorname{cd}(u,k) = \frac{\operatorname{cn}\!\left(\text{u},\,\text{k}\right)}{\operatorname{dn}\!\left(\text{u},\,\text{k}\right)}$$ を得ます。特別な場合が二つあります。k = 0 のときは $$\operatorname{cd}\!\left(\text{u},\,0\right) = \cos\!\left(\text{u}\right)$$ k = 1 のときはすべての u について \(\operatorname{cd}(u, 1) = 1\) となります。
計算例
\(u = 4\)、\(k = 0.7\) とすると \(m = 0.49\) です。AGM のはしごを進めて振幅まで降下させると \(\phi \approx 3.4479\) が得られます。すると \(\operatorname{cn} = \cos(\phi) \approx -0.9533\)、\(\operatorname{dn} = \sqrt{1 - 0.49\cdot\sin^2\phi} \approx 0.9774\) となり、 $$\operatorname{cd} = \frac{-0.9533}{0.9774} \approx -0.9754$$ となります。
よくある質問
母数 k とパラメータ m の違いは? 多くのライブラリでは、母数 k ではなくパラメータ \(m = k^2\) を引数にとります。この計算機は母数 k を直接入力し、内部で二乗します。
dn が 0 になることはありますか? \(|k| < 1\) では \(\operatorname{dn} = \sqrt{1 - m\cdot\operatorname{sn}^2} \ge \sqrt{1 - m} > 0\) となるため、cd は常に有限です。k = 1 のときは cn = dn なので cd = 1 になります。
cd は k について偶関数ですか、奇関数ですか? 偶関数です。cd は \(m = k^2\) のみに依存するため、\(\operatorname{cd}(u, -k) = \operatorname{cd}(u, k)\) が成り立ちます。