読者です 読者をやめる 読者になる 読者になる

GeoGebraコマンド辞典

GeoGebraの全コマンドを分かりやすく解説

polygamma(m, x) - ポリガンマ関数

定義済み関数

polygamma( <数値m>, <式x> )

数値m, xに対して、ポリガンマ関数

f:id:usiblog:20170218004953p:plain

の値を返す。

ここで、

f:id:usiblog:20170218003432p:plain

はディガンマ関数、

f:id:usiblog:20170217220857p:plain

はガンマ関数である。

ディガンマ関数については、psi( )を、ガンマ関数については、gamma( )を参照。

数値mは、0または1である必要がある(ただし、CASにおいては2以上の整数も受け付けることについて、例3を参照)。

polygamma(0,x)とpsi(x)は同値である。

なお、ポリガンマ関数の積分表示は、以下のとおりである。

f:id:usiblog:20170218005202p:plain

以上のことから、polygamma(m,a)と同値な関数を挙げると、以下のようになる。

Derivative[ ln( gamma(a) ), m+1 ]

Derivative[ psi(a), m ]

以下の積分表示も、polygamma(m,a)と同値であるが、CASにおいてのみ有効である(これらを用いて、数値mが複素数である場合を求値できることについて、例4を参照)。

Integral[ (ℯ^(-x)/x)-( ℯ^(-a*x) )/( 1-ℯ^(-x) ), 0, ∞ ] (ただし、m=0)

(-1)^(m+1) * Integral[ x^m*ℯ^(-a*x)/( 1-ℯ^(-x) ), 0, ∞ ] (ただし、m=1,2,…)

例1

f:id:usiblog:20170218010545p:plain

g(x)=polygamma(0,x)

は、関数

f:id:usiblog:20170218005611p:plain

を作成し、

h(x)=polygamma(1,x)

は、関数

f:id:usiblog:20170218005620p:plain

を作成する。

 

例2

polygamma(0,1)

は、数値-0.577...を返し、

polygamma(1,1)

は、数値1.644...を返す。

f:id:usiblog:20170218015713p:plain

コメント2

CASでは、polygamma(0,1)に対しては、正しい値を返さない。バグであると推察される。

f:id:usiblog:20170218020159p:plain

polygamma(1,1), polygamma(0,2), polygamma(1,2)の計算結果は、正確であることが確認できている。

f:id:usiblog:20170218020320p:plain

f:id:usiblog:20170218020331p:plain

f:id:usiblog:20170218020530p:plain

なお、上図polygamma(0,2)の、厳密な評価による計算結果にある

f:id:usiblog:20170218021743p:plain

とは、オイラーの定数

f:id:usiblog:20170217230857p:plain

である。

 

例3

polygamma(m,x)は、

m<-1またはm>2のとき、定義されず、

-1<=m<1のとき、polygamma(0,x)と同値であり、

1<=m<2のとき、polygamma(1,x)と同値である。

例えば、

polygamma(-3,3)

polygamma(3,3)

は、いずれも定義されない。

f:id:usiblog:20170218013943p:plain

polygamma(0,3)

polygamma(0.6,3)

は、いずれも数値0.922...を返す。

f:id:usiblog:20170218013909p:plain

polygamma(1,3)

polygamma(1.4,3)

は、いずれも数値0.394...を返す。

f:id:usiblog:20170218014133p:plain

コメント3

CASでの計算結果は、以下の通りである。特に、2以上の整数mに対しても、polygamma(m,x)を計算できる点が特徴的である。

f:id:usiblog:20170218014527p:plain

 

例4

polygamma(m,x)は、式xが複素数である場合には、エラーを返す。

例えば、

polygamma(1, 2+3ί )

は、エラーを返す。

f:id:usiblog:20170218020740p:plain

コメント4

CASでは、厳密な評価、数値的評価の両方で「?」を返す。

f:id:usiblog:20170218020845p:plain

いっぽう、polygamma(1, 2+3ί )の積分表示である

(-1)^(1+1) * Integral[ x^1*ℯ^(-(2+)*x)/( 1-ℯ^(-x) ), 0, ∞ ]

を計算すると、厳密な評価では「?」を返すが、数値的評価による計算結果を得ることができる。

f:id:usiblog:20170218021141p:plain

 

バージョン情報

Version: 5.0.328.0-webapp (12 February 2017)