2
現代数学解説
文献あり

超幾何数列の基礎9:超指数関数

209
0

はじめに

 この記事では 前回の記事 に引き続き超幾何数列の基本事項についてまとめていきます。
 前回までの記事では
A(n+1)A(n)
が有理関数となるような数列:超幾何数列について考えてきましたが、今回の記事ではこの類似として
f(t)f(t)
が有理関数となるような関数:超指数関数について考えていきます。
 やることとしては超幾何数列の場合と大して変わらないので、主要な命題だけ紹介して細かい説明についてはすっ飛ばしていきます。

定義と基本性質

hyperexponential term

 0でない関数f(t)超指数関数であるとは、その対数微分
f(t)f(t)
tについての有理関数となることを言う。

 任意の超指数関数f(t)に対し、ある有理関数R(t)およびある定数tj,αjが存在して
f(t)=eR(t)j=1J(ttj)αj
が成り立つ。

証明

 部分分数分解によって
f(t)f(t)=g(t)+j=1Jk=1ejαj,k(ttj)k(g(t):多項式)
のように表せるのでこれを積分することで
logf(t)=G(t)+j=1J(αj,1log(ttj)k=1ej1αj,k+1k(ttj)k)(G(t)=g(t))
つまり
f(t)=eR(t)j=1J(ttj)αj,1(R(t)=G(t)j=1Jk=1ej1αj,k+1k(ttj)k)
を得る。

 超指数関数f(t)に対しf(n)(t)も超指数関数となる。またf(t)f(n)(t)は相似(後述)である。

証明

 f(t)が超指数関数となることを示せば十分である。そのことについては
(f(t)f(t))=f(t)f(t)f(t)2f(t)2
つまりf(t)の対数微分が
f(t)f(t)=f(t)f(t)((f(t)f(t))+f(t)2f(t)2)
と表せることからわかる。
 また
f(n)(t)f(t)=f(n)(t)f(n1)(t)f(t)f(t)f(t)f(t)
に注意するとf(t)f(n)(t)は相似であることがわかる。

閉形式

 大まかな流れは 第一回の記事 と同様なので証明は省略します。

 超指数関数全体のなす集合をHHによって生成される線形空間をL(H)とおく。

 関数f(t)閉形式であるとはf(t)L(H)であることを言う。

相似関係

 超指数関数f(t),g(t)相似であるとは、その比f(t)/g(t)tについての有理関数となることを言う。

 0でない任意のF(t)L(H)に対し、ある相似でない超指数関数f1(t),,fr(t)が存在して
F(t)=k=1rfk(t)
が成り立つ。またこのような表示は一意的である。

微分方程式

 関数f(t)D-finiteであるとはf(t)が多項式係数の線形微分方程式を満たす、つまりある多項式p0(t),,pI(t)(pI(t)0)が存在して
i=0Ipi(t)f(i)(t)=0
が成り立つことを言う。

 任意のf(t)L(H)はD-finiteである。

 F(t)L(H)が微分方程式
i=0Ipi(t)F(i)(t)=0
を満たすとき、命題3のような分解
F(t)=k=1rfk(t)
における各因子fk(t)も微分方程式
i=0Ipi(t)fk(i)(t)=0
を満たす。

逆微分の求め方

 第二回の記事では「差分してA(n)になる超幾何数列T(n)」を求めるアルゴリズムについて解説しましたが、この類似を考えることで「微分してf(t)になる超指数関数F(t)」を求めることができます(より強力な手法としてRisch-Bronstein Algorithmというものも知られているそうですが、ここでは特に紹介しません)。

 超指数関数f(t),F(t)
F(t)=f(t)
を満たすとき
r(t)=f(t)f(t),y(t)=F(t)f(t)
とおくと
y(t)+r(t)y(t)=1
が成り立つ。

 0でない有理関数r(t)に対して
r(t)=a(t)b(t)+c(t)c(t)
なる多項式a(t),b(t),c(t)であって以下を満たすようなものが存在する。
(R1) 任意の非負整数hに対しb(t)a(t)hb(t)は互いに素である。

証明

 互いに素な多項式p(t),q(t)を用いて
r(t)=p(t)q(t)
と表したとき、ある正整数hに対し
u(t)=gcd(q(t),p(t)hq(t))1
が成り立つとすると
p(t)=u(t)p~(t)+hq(t)=u(t)p(t)+hu(t)q(t)q(t)=u(t)q(t)U(t)=u(t)h
とおけば
r(t)=p(t)q(t)+hu(t)u(t)=p(t)q(t)+U(t)U(t)
が成り立つ。
 このように各h=1,2,に対しq(t),p(t)hq(t)の共通因子を掃き出していくことで所望の多項式a(t),b(t),c(t)を構成できることがわかる。

アルゴリズム
  1. 互いに素な多項式p(t),q(t)であって
    r(t)=p(t)q(t)
    を満たすようなものを求める。
  2. 非負整数hであって終結式
    R(h)=Res(q(t),p(t)hq(t))
    0とするようなものを全て求め、それらを小さい順に
    h=h1,h2,,hN
    とおく。
  3. 多項式列pj(t),qj(t),uj(t)
    p0(t)=p(t),q0(t)=q(t)
    および漸化式
    uj(t)=gcd(qj1(t),qj1(t)hjqj(t))qj(t)=qj1(t)uj(t)pj(t)=pj1(t)huj(t)qj(t)uj(t)
    によって定める。このとき
    a(n)=fN(n)b(n)=gN(n)c(n)=j=1Nuj(t)hj
    が求める多項式となる。

 いま
y(t)=b(t)c(t)x(t)
とおくと件の方程式
y(t)+r(t)y(t)=1

b(t)x(t)+(a(t)+b(t))x(t)=c(t)
と変形できることに注意する。

 上の条件を満たすような多項式a(t),b(t),c(t)に対し
b(t)x(t)+(a(t)+b(t))x(t)=c(t)
なる有理関数x(t)が存在すればx(t)は多項式となる。

証明

 x(t)を互いに素な多項式p(t),q(t)を用いて
x(t)=p(t)q(t)
と表したときq(t)が定数でないものと仮定し矛盾を導く。
 いまq(t)の既約因子u(t)を任意に取り
x(t)=p(t)q(t)+αu(t)h(u(t)hq(t))
と部分分数分解する。またこの一、二項目をそれぞれx1(t),x2(t)とおく。
 このとき
b(t)x2(t)+(a(t)+b(t))x2(t)=(a(t)+b(t)hb(t)u(t)u(t))αu(t)h=c(t)(b(t)x1(t)+(a(t)+b(t))x1(t))
より、この分母に注目すると
u(t)b(t)かつu(t)(a(t)+b(t)hb(t)u(t)u(t))
が成り立たなければならないが
b(t)=(b(t)u(t)u(t))=b(t)u(t)u(t)+(b(t)u(t))u(t)
に注意すると
u(t)(a(t)(h1)b(t))
となってa(t),b(t)の取り方に矛盾。
 よってq(t)は定数でなければならないことが示された。

方程式の解き方

 k=max{dega,degb1}としa(t),b(t)の最高次の係数をそれぞれA,Bとおく。

  1. degadegb1またはABZのとき
    d=degck
    dega=degb1かつABZのときのとき
    d=max{degck, ABk}
    とおく。
  2. このときd<0であれば求めるような多項式x(t)は存在せず、そうでなければ
    x(t)=k=0dCktk
    と展開し
    b(t)x(t)+(a(t)+b(t))x(t)=c(t)
    の両辺を係数比較することによって得られるC0,,Cdについての方程式を解く。
    もしその方程式が解を持たなければ求めるような多項式x(t)は存在しない。

連続版Gosper's Algorithm

 以上の議論をまとめると超指数関数f(t)に対し
F(t)=f(t)
なる超指数関数F(t)は次のようなステップによって求めることができます。

  1. 多項式a(t),b(t),c(t)であって
    f(t)f(t)=a(t)b(t)+c(t)c(t)
    かつ、任意の非負整数hに対して
    gcd(b(t),a(t)hb(t))=1
    となるようなものを求める。
  2. 微分方程式
    b(t)x(t)+(a(t)+b(t))x(t)=c(t)
    を満たすような多項式x(t)を求める。
  3. x(t)が求まらなければ所望の関数は存在せず、x(t)が求まれば
    F(t)=b(t)c(t)x(t)f(t)
    が求める超指数関数となる。

計算例

F(t)=(12t2)et2
なる超指数関数F(t)を求めよ。

解説

 f(t)=(12t2)et2に対し
f(t)f(t)=(12t2)12t22t
より
a(t)=2t,b(t)=1,c(t)=12t2
とおくとよい。このとき微分方程式
x(t)2tx(t)=12t2
の解はx(t)=tと求まるので
F(t)=tet2
が求める超指数関数となる。

F(t)=4t2+1tet2
なる超指数関数F(t)を求めよ。

解説

 f(t)=(4t2+1)et2/tに対し
f(t)f(t)=(4t2+1)4t2+1+4t212t
より
a(t)=4t21,b(t)=2t,c(t)=4t2+1
とおくとよい。このとき微分方程式
2tx(t)+(4t2+1)x(t)=4t2+1
の解はx(t)=1と求まるので
F(t)=2ttet2=2tet2
が求める超指数関数となる。

F(t)=(1+t)α(1t)α+2
なる超指数関数F(t)を求めよ。

解説

 f(t)=(1+t)α/(1t)α+2に対し
f(t)f(t)=2(α+1+t)1t2
より
a(t)=2(α+1+t),b(t)=1t2,c(t)=1
とおくとよい。このとき微分方程式
(1t2)x(t)+2(α+1)x(t)=1
の解はx(t)=1/2(α+1)と求まるので
F(t)=12(α+1)(1+t1t)α+1
が求める超指数関数となる。

級数・積分と漸化式・微分方程式

 第四回の記事では各変数に関して超幾何的である数列F(x,y)に対して
f(x)=y=F(x,y)
が満たす漸化式を求めるアルゴリズムについて解説しましたが、F(x,y)を片方、あるいは両方の変数に関して超指数的な関数に置き換えてその類似を考えることで
f(x)=y=F(x,y),F(x,y)dy
の満たす漸化式や微分方程式を求めることができます。

Almkvist-Zeilberger Algorithm

 いまσx,σyをそれぞれ
σxF(x,y)={F(x+1,y)xF(x,y)σyF(x,y)={F(x,y+1)F(x,y)yF(x,y)
のいずれかを満たすような作用素とし、F(x,y)
σxF(x,y)F(x,y),σyF(x,y)F(x,y)
をそれぞれx,yについての有理関数とするような関数とします。
 このとき次のようなアルゴリズムによって
i=0IAi(x)(σxiF)(x,y)=σyG(x,y)
を満たすような多項式Ai(x)およびG(x,y)/F(x,y)x,yについての有理関数とするような関数G(x,y)を求めることができます。

  1. Iを任意に取り、未知数Ai(x)を伴う関数
    A(y)=i=0IAi(x)(σxiF)(x,y)
    を考える。
  2. A(y)に対し離散版/連続版Gosper's Algorithmを考えることでA0(x),,AI(x)およびある多項式X(y)に関する線形方程式
    α(y)(σyX)(y)+β(y)X(y)=c(y)
    に帰着させる(i=0,,Iに対し
    σxiF(x,y)H(x,y)
    yについての多項式となるような関数H(x,y)を考えることでc(y)
    A(y)H(x,y)=i=0IAi(x)σxiF(x,y)H(x,y)
    を因数に持つ、特にα(y),β(y)Ai(x)に依らないことがわかる)。
  3. もし非自明な解が得られれば
    G(x,k)=b(k1)c(k)X(k)A(k)
    だか
    G(x,t)=b(t)c(t)X(t)A(t)
    だかが求める関数となる。
    もし非自明な解が得られなければIをより大きく取り直して同様の試行を繰り返す。

 そして適当な条件下でこの等式
i=0IAi(x)(σxiF)(x,y)=σyG(x,y)
yについて和分/積分することで
f(x)=y=F(x,y),F(x,y)dy
は漸化式/微分方程式
i=0IAi(x)(σxif)(x)=0
を満たすことがわかります。

計算例

級数×漸化式

  第四回の記事 にて紹介した通り。

級数×微分方程式

(ルジャンドル多項式)

f(x)=k=0n(n+k)!(nk)!(k!)2(x12)k
の満たす微分方程式を求めよ。

解説

F(x,k)=(n+k)!(nk)!(k!)2(x12)k
に対し
A(k)=A0(x)F(x,k)+A1(x)F(x,k)+A2(x)F(x,k)=(A0(x1)2+2A1(x1)k+4A2k(k1))F(x,k)(x1)2
とおくと
F(x,k+1)F(x,k)=(nk)(n+k+1)(k+1)2x12
より
a(k)=(x1)(nk)(n+k+1)b(k)=2(k+1)2c(k)=A0(x1)2+2A1(x1)k+4A2k(k1)
とおくとよい。
 このときA0,A1,A2,X(k)についての方程式
(x1)(nk)(n+k+1)X(k+1)2k2X(k)=A0(x1)2+2A1(x1)k+4A2k(k1)

X(k)=x1,A0=n(n+1),A1=2x,A2=1x2
と解けるので
G(x,k)=2k2x1F(x,k)=(n+k)!(nk)!((k1)!)2(x12)k1
とおくと
(1x2)F(x,k)2xF(x,k)+n(n+1)F(x,k)=G(x,k+1)G(x,k)
が成り立つ、つまりf(x)は微分方程式
(1x2)f(x)2xf(x)+n(n+1)f(x)=0
を満たすことがわかる。

積分×漸化式

Γ(n)=0tn1etdt
の満たす漸化式を求めよ。

解説

 F(n,t)=tn1etに対し
A(t)=A0(n)F(n,t)+A1(n)F(n+1,t)=(A0+A1t)tn1et
とおくと
A(t)A(t)=((A0+A1t)tn1)(A0+A1t)tn11
より
a(t)=1,b(t)=1,c(t)=(A0+A1t)tn1
とおくとよい。
 このときA0,A1,x(t)についての方程式
x(t)x(t)=(A0+A1t)tn1

x(t)=tn,A0=n,A1=1
と解けるので
nf(n,t)f(n+1,t)=(tnet)
つまり
nΓ(n)Γ(n+1)=0
を得る。

積分×微分方程式

f(x)=0ex2t2t2dt
をclosed formに表せ。

解説

 F(x,t)=ex2t2t2に対し
A(t)=A0(x)F(x,t)+A1(x)Fx(x,t)+A2(x)Fxx(x,t)=A0t42A1xt22A2(t22x2)t4ex2t2t2
とおくと
A(t)A(t)=(A0t42A1xt22A2(t22x2))A0t42A1xt22A2(t22x2)4t+2x2t32t=(A0t42A1xt22A2(t22x2))A0t42A1xt22A2(t22x2)2(t4+2t2x2)t3
より
a(t)=2(t4+2t2x2),b(t)=t3,c(t)=A0t42A1xt22A2(t22x2)
とおくとよい。
 このときA0,A1,A2,X(t)についての方程式
t3X(t)(2t4+t22x2)X(t)=A0t42A1xt22A2(t22x2)

X(t)=2,A0=4,A1=1,A2=1
と解けるので
Fxx(x,t)4F(x,t)=(4tex2t2t2)
つまりf(x)は微分方程式
f(x)4f(x)=0
を満たすことがわかる。
 これは
f(x)=αe2x+βe2x
と解けるので、xにおける挙動およびx=0における値に注意すると
f(x)=π2e2|x|
を得る。

参考文献

[1]
W. Koepf, Hypergeometric Summation: An Algorithmic Approach to Summation and Special Function Identities, Springer, 2014
投稿日:202455
更新日:213
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

子葉
子葉
1065
259824
主に複素解析、代数学、数論を学んでおります。 私の経験上、その証明が簡単に探しても見つからない、英語の文献を漁らないと載ってない、なんて定理の解説を主にやっていきます。 同じ経験をしている人の助けになれば。最近は自分用のノートになっている節があります。

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 定義と基本性質
  3. 閉形式
  4. 相似関係
  5. 微分方程式
  6. 逆微分の求め方
  7. 連続版Gosper's Algorithm
  8. 計算例
  9. 級数・積分と漸化式・微分方程式
  10. Almkvist-Zeilberger Algorithm
  11. 計算例
  12. 参考文献