keisoku

ベータ関数 B(a,b) 計算機

ベータ関数 B(a,b)=∫_0^1 t^(a-1)(1-t)^(b-1)dt をガウス求積の数値積分とガンマ関数表現 Γ(a)Γ(b)/Γ(a+b) の両方で計算。lnB や両者の一致誤差も表示します。

入力

正の実数 a, b を入力すると、ベータ関数 B(a,b)=∫_0^1 t^(a-1)(1-t)^(b-1)dt を64点ガウス求積で数値積分し、ガンマ関数表現と比較します。

正の実数

正の実数

計算結果

ベータ関数 B(2, 3)(数値積分)

0.0833333333

64 点ガウス・ルジャンドル求積による近似

ガンマ表現 Γ(a)Γ(b)/Γ(a+b)

0.0833333333

lnB(a,b)

-2.4849066498

数値積分との差

2.220446e-16

ガンマ表現 B(a,b)=Γ(a)Γ(b)/Γ(a+b) は Lanczos 近似で計算しています。a または b が1未満のときは端点で被積分関数が発散するため、数値積分の誤差が大きくなります。

計算方法・使い方

  • ベータ関数は B(a,b)=∫_0^1 t^(a-1)(1-t)^(b-1)dt と定義され、a, b は正の実数を入力します。
  • 主要数値は標準区間 [-1,1] を [0,1] に線形変換した64点ガウス・ルジャンドル求積による数値積分の結果です。
  • ガンマ表現は B(a,b)=Γ(a)Γ(b)/Γ(a+b) で、ガンマ関数は Lanczos 近似で計算しています。
  • lnB(a,b)=lnΓ(a)+lnΓ(b)-lnΓ(a+b) で、桁あふれを避けたいときに有用です。
  • a または b が1未満だと被積分関数が端点で発散するため、数値積分の値はガンマ表現よりわずかに誤差が大きくなります。

お客様の声

このツールを使った感想をお聞かせください。

レビューを投稿する

  1. ホーム
  2. ベータ関数 B(a,b) 計算機