MCPで接続 →

計算を入力してください

Dimensionless, with -1 ≤ k ≤ 1. Note: m = k² is the "parameter" convention.

公式

広告

結果

第1種完全楕円積分 K(k)
1.5747455615
無次元
母数 |k| 0.1
Parameter m = k² 0.01
計算手法 算術幾何平均(AGM)

第1種完全楕円積分とは

第1種完全楕円積分は \(K(k)\) と表記される古典的な特殊関数で、0 から \(\pi/2\) までの \(d\theta / \sqrt{1 - k^{2}\sin^{2}\theta}\) の積分として定義されます。振り子の振幅が大きいときの正確な周期、ノイマンの公式による同軸コイル間の相互インダクタンス、曲線の弧長、楕円形き裂まわりの応力場など、さまざまな場面に登場します。本ツールは、与えられた楕円母数 \(k\) に対して \(K(k)\) の実数値を返します。

積分区間にわたって角度 theta を描いた四分円
K(k) は角度 theta を 0 から pi/2 まで積分します。

規約について:母数 k かパラメータ m か

楕円積分には主に2つの規約があります。本ツールは母数(モジュラス) \(k\) をそのまま入力する方式を採用しており、パラメータは \(m = k^{2}\) となります。つまり本サイトの \(K(k)\) は、MATLAB の ellipke(m) に \(m = k^{2}\) を与えた場合と一致します。たとえば MATLAB の ellipke(0.5) は、ここでは \(k = \sqrt{0.5} \approx 0.7071\) を入力した場合に対応します。数値を比較する際は、参照する文献がどちらの規約を採用しているか必ず確認してください。

使い方

楕円母数 \(k\) を \(-1 \le k \le 1\) の範囲で入力すると、\(K(k)\) が求まります。\(K\) は \(k\) について偶関数なので符号は影響せず(\(K(-k) = K(k)\))、内部では絶対値を取って計算します。関数は \(|k| < 1\) で有限の値をとり、\(|k|\) が 1 に近づくにつれて対数的に発散します。

広告

計算式と計算手法

算術幾何平均(AGM)を用います。すなわち $$K(k) = \frac{\pi}{2\,\mathrm{AGM}\!\left(1,\;\sqrt{1 - k^{2}}\right)}$$ です。\(a = 1\)、\(b = \sqrt{1 - k^{2}}\)(補母数)から始め、両者が一致するまで算術平均と幾何平均に繰り返し置き換えていきます。AGM は2次収束するため、十数回ほどの反復で倍精度の全桁が得られます。

算術平均と幾何平均によって共通の極限に収束する2つの数列
AGM 反復は K(k) の計算に使う共通の値へ急速に収束します。

計算例

\(k = 0.1\) の場合:\(m = 0.01\) であり、補母数は \(\sqrt{0.99} \approx 0.994987\) です。1 と 0.994987 の AGM は約 0.9974921 に収束します。よって $$K(0.1) = \frac{\pi}{2 \times 0.9974921} \approx 1.5747456$$ となります。

広告

よくある質問

\(K(0)\) はいくつですか? 被積分関数が 1 になるため、ちょうど \(\pi/2 \approx 1.5707963\) です。

なぜ \(k = 1\) で発散するのですか? 補母数が 0 になり、\(\mathrm{AGM}(1,0) = 0\) となります。\(K(k)\) は対数的特異点を持つため、\(K \to +\infty\) となります。

\(|k| > 1\) を入力できますか? いいえ。\(-1 \le k \le 1\) の範囲外では実数の積分が定義されず、逆母数変換が必要になるため、本ツールではそのような入力を受け付けません。

最終更新: