arcsn(x, k) とは
逆ヤコビ楕円正弦関数 arcsn(x, k) は、「値 x と楕円母数 k が与えられたとき、sn(u, k) = x となる引数 u は何か」という問いに答える関数です。ここで sn はヤコビの楕円正弦関数であり、通常の正弦関数を二重周期へ拡張したものです。振り子の運動、非線形振動子、等角写像、特定の微分方程式の解など、数学・物理の幅広い場面に登場します。本ツールは純粋に数学的な計算であり、国や地域を問わず普遍的に利用できます。
計算式
arcsn(x, k) は、振幅 \(\phi = \arcsin(x)\) における第一種不完全楕円積分そのものです。
\(\operatorname{arcsn}(x, k) = F(\arcsin x, k)\) は、0 から \(\arcsin x\) までの \(d\theta / \sqrt{1 - k^{2}\sin^{2}\theta}\) の積分に等しく、また 0 から \(x\) までの \(dt / \sqrt{(1 - t^{2})(1 - k^{2} t^{2})}\) の積分にも等しくなります。本計算ツールは母数 k を用いる規約(すなわちパラメータは \(m = k^{2}\))を採用しています。実際の計算には Carlson の対称形 $$\operatorname{arcsn}(x, k) = x \cdot R_F\!\left(1 - x^{2},\; 1 - k^{2}x^{2},\; 1\right)$$ を用い、\(R_F\) は急速に収束する倍化アルゴリズムで評価します。これにより倍精度の精度が得られ、閉じた形で厳密に求められます。
使い方
x を -1 から 1 の範囲で、母数 k を 0 から 1 の範囲で入力すると、u が表示されます。精度の選択は表示桁数を変えるだけで、内部の計算は常に倍精度(有効数字およそ15桁)で実行されます。
計算例
x = 0.7、k = 0.8 の場合:$$\operatorname{arcsn} = 0.7 \cdot R_F(0.51,\, 0.6864,\, 1) \approx 0.7 \cdot 1.18218 \approx 0.82753$$ となります。検算として、k = 0 のときは \(\arcsin(0.7) = 0.77540\) になります。k = 0.8 では被積分関数の分母が 1 より小さくなるため積分値が大きくなり、\(u > 0.7754\) となるはずで、0.8275 という結果と整合します。
よくある質問
k = 0 のときはどうなりますか? 被積分関数が 1 になるため、\(\operatorname{arcsn}(x, 0) = \arcsin(x)\) となります。
k = 1 のときはどうなりますか? $$\operatorname{arcsn}(x, 1) = \operatorname{artanh}(x) = 0.5\cdot\ln\!\left(\frac{1+x}{1-x}\right)$$ となり、x が \(\pm 1\) に近づくと発散します。
k < 1 のとき arcsn(±1, k) は? 第一種完全楕円積分 \(\pm K(k)\) に等しく、有限の値になります。発散するのは k = 1 かつ x = ±1 の組み合わせのときだけです。