積分からGamma関数を計算
正の形状パラメータaと有限下端から、x^(a−1)e^(−x)の半無限積分をDE変換で段階別に計算します。
計算結果
- 積分で求めるGamma関数の計算結果
-
計算すると数値表を表示します。
積分で求めるGamma関数の計算結果。計算段階または次数ごとの積分推定値と収束情報を示す表です。列見出し付きTSVとしてコピーできます。 反復段階 level 積分推定値 直前値との差 直前値からの相対変化
使い方
- ページ先頭の計算フォームで関数式と数値条件を確認し、暗黙の掛け算、未対応名、定義域外がないよう入力します。
- 最大ステップ・最大段階・次数と、必要な基礎則を選び、計算ボタンでブラウザ内の収束表を更新します。
- 複数行の推定値を既知の恒等式または別の積分器と比較し、隣接値の一致だけで精度を断定しません。
- 列見出し付きTSVをコピーし、関数式、区間、パラメータ、方式、最大12有効桁表示、確認日を一緒に保存します。
計算式・考え方
Γ(a)=∫_0^∞x^(a−1)e^(−x)dx(a>0)です。下端L>0では∫_L^∞x^(a−1)e^(−x)dx、すなわち上側不完全Gamma積分を計算します。
注意事項
- 既定値a=3.5、下端0、最大段階8では、最終推定値が約3.323350970447843です。Γ(3.5)=Γ(7/2)=15sqrt(pi)/8という半整数の閉形式で独立に検算できます。段階表はlevel 2から指定最大段階までを並べ、absolute-changeとrelative-changeは直前levelとの差を示します。最初の行は比較対象がないため両方0です。
- aは0.05以上10以下へ制限します。数学上のEuler積分はa>0で収束しますが、aが0へ近づくほどx=0近傍のx^(a−1)が鋭くなり、binary64の有限標本では感度が高まります。上限10は、変換後の遠い標本でx^(a−1)をe^(−x)と掛ける前に直接計算した際のoverflowを避ける安全境界で、Gamma関数の数学的定義域の上限ではありません。より大きなaには対数Gammaや尺度調整済みの専用実装を使います。
- 下端を0より大きくすると完全Gamma関数ではなく上側不完全Gamma積分になります。たとえばa=1なら被積分関数はe^(−x)なので、下端Lから無限大までの値はe^(−L)です。下端を変えた結果へ単にΓ(a)というラベルを付けず、Γ(a,L)または積分区間[L,∞)を記録してください。このページは下側不完全Gamma積分0からLを直接返すものではありません。
- 半無限区間はx=L+exp((pi/2)sinh(t))で実数tへ写し、Jacobianを掛けた等間隔台形和として評価します。xが有限下端へ近づく側と無限遠へ進む側の寄与を二重指数的に小さくする設計ですが、aが境界へ近い場合や大きなaでピークが遠方へ移る場合に固定levelの精度を保証しません。最大段階を変え、math.gamma、SciPy、mpmath等と照合してください。
- 数値積分は、有限個の標本点で被積分関数を評価し、その重み付き和から積分を近似します。解析的な原始関数が得られない場合にも役立ちますが、有限個の値だけから積分の存在や表示桁すべての正しさを自動証明する機能ではありません。結果表では段階または次数を変えた複数の推定値を比較し、既知の恒等式、別方式、多倍長計算、概算面積など独立した根拠を併用してください。
- 関数式には変数x、定数piとe、四則演算、べき乗^、丸括弧、abs、sqrt、exp、ln、log、log10、sin、cos、tan、asin、acos、atan、sinh、cosh、tanh、floor、ceilを使えます。2xのような暗黙の掛け算は使えないため2*xと書きます。式は200文字、128トークン、演算子と括弧の深さ32段までに制限し、未知の名前や不完全な式は計算開始前に拒否します。
- Gamma・Betaページのaとbは、画面の数値入力から予約済みの式パラメータへ束縛します。利用者が式の中へ任意の変数名やコードを追加する方式ではありません。字句解析と構文解析で許可した演算だけを逆ポーランド記法へ変換して評価し、eval、new Function、プロパティ参照、配列、代入、セミコロン、文字列を実行しません。パラメータ入力も有限値と所定範囲を検証してから式へ渡します。
- 計算は利用者のブラウザ内で完結します。外部API、CDN、fetch、XMLHttpRequest、WebSocket、サーバー側計算を必要とせず、入力した関数式、区間、パラメータ、結果を送信または保存しません。サーバーの計算資源を消費せずに条件を変更できますが、端末を閉じれば入力は残りません。必要な結果は式、条件、方式、確認日を添えて列見出し付きTSVへ保存してください。
- 内部の実数演算はIEEE 754 binary64で、画面とTSVは最大12有効桁に整形します。参照資料や多倍長計算が20桁以上を示しても、同じ桁数を転載してbinary64以上の精度があるようには見せません。大きさが異なる項には安定した総和を使いますが、桁落ち、正負相殺、オーバーフロー、アンダーフローを完全には排除できません。高精度定数表の作成には任意精度実装が必要です。
- 収束表の隣接値が近いことは、二つの有限近似が一致したという観察です。真値との差、厳密な誤差上界、正しい桁数の保証と同じではありません。標本点の間に狭いピークがある場合、複数段階が同じ構造を見落として見かけ上安定することがあります。段階や次数を変えるだけでなく、区間分割、変数変換、関数のグラフ、解析的な上限下限との照合も行ってください。
- 積分区間内の極、不連続、平方根や対数の定義域境界は事前に確認します。分点が極へ偶然一致しないだけでは通常積分が存在する根拠にならず、Cauchy主値を自動的に選ぶこともありません。既知の内部特異点では区間を分け、端点特異性には問題に合う変数変換やTanh–Sinhを検討します。関数評価や重み付き和が有限値にならなければ、値らしい数を補間せずエラーにします。
- 滑らかな関数でも、振動周波数が高い、変化の尺度が区間幅より極端に小さい、非常に大きな正負の寄与が相殺する、といった場合は通常の収束傾向が現れません。最高設定へ一度に上げるのではなく、低い設定から履歴を見て、結果が安定する領域と丸め誤差が支配する領域を区別します。正値関数の積分が負になるなど基本的な性質に反する場合は採用しません。
- 単位を持つ量へ利用するときは、積分変数と被積分関数の単位の積が結果の単位になります。Gamma関数とBeta関数の定義式は無次元変数を前提にしているため、物理量の密度や確率分布へ転用するときは尺度変換と正規化定数を別途確認してください。数値だけが既知値に近くても、変数、端点、指数パラメータの意味が違えば同じ問題を解いたことにはなりません。
- TSVコピーは表の列見出しと表示順を含みます。再現性のため、Rombergでは基礎則と最大ステップ、Gammaではa・有限下端・最大段階、Betaではa・b・区間・次数を必ず残します。binary64・最大12有効桁であること、隣接値の差が誤差保証ではないことも併記します。結果の一列だけを資料へ移すと、どの公式と入力で得た値か後から検証できません。
- この計算機は数値解析の学習、プログラム実装の照合、一般的な試算を目的とします。医療投与量、安全限界、法令判定、金融取引など高い保証が必要な判断を単独で決めるものではありません。重要な用途では式とデータの出典、許容誤差、独立実装との一致をレビューし、必要に応じて専門家と証明付き・多倍長の計算環境を利用してください。
- 求積公式、Gaussian求積、外挿法の一般的な定義と注意点はNIST Digital Library of Mathematical Functions(DLMF)§3.5を2026年7月13日に照合しました。GammaのEuler積分は同資料§5.2、BetaのEuler積分は§5.12と照合しています。本文では各定義の実数正パラメータ域だけを扱い、解析接続、複素積分、極の回避、正則化を実装範囲に含めません。
- 半無限区間に用いる二重指数型変換については、高橋秀俊・森正武のTakahasi–Mori公式と京都大学数理解析研究所(RIMS)で公開された関連資料を2026年7月13日に確認しました。変換後の有限台形和は十分に減衰する関数で有効ですが、方式名だけで収束を保証しません。遅いべき減衰、発散積分、無限に続く振動には問題専用の尾部処理が必要です。
- binary64・最大12有効桁の有限近似です。収束差や最終対角値は厳密な誤差保証ではありません。
よくある質問
下端を1にするとΓ(a)ですか?
いいえ。1から無限大までの上側不完全Gamma積分です。完全Gamma関数は下端0で計算します。
a=0以下を入力できない理由は?
この実数Euler積分は0付近で収束しないためです。解析接続されたGamma関数はこの積分ページの対象外です。
入力した式、区間、パラメータ、反復設定、計算結果は利用者のブラウザ内だけで処理され、サーバーや外部APIへ送信・保存されません。