この記事では
前回の記事
に引き続き超幾何数列の基本事項についてまとめていきます。
今回の記事では超幾何数列の部分和
$$S(n)=\sum^{n-1}_{k=0}A(k)$$
の閉形式の求め方について解説していきます。
超幾何数列の部分和$S(n)$は
$$S(0)=0,\quad S(n+1)-S(n)=A(n)$$
という漸化式によって特徴づけられる数列であり、また
$$\frac{A(n+1)}{A(n)}=\frac{p(n)}{q(n)}$$
なる多項式$p(n),q(n)$を取ると三項間漸化式
$$q(n)(S(n+2)-S(n+1))-p(n)(S(n+1)-S(n))=0$$
が成り立つ、つまり$S(n)$はP-再帰的であることがわかります。
したがって$S(n)$の閉形式を考えることができ、また閉形式が存在すればそれは以下のような形になることがわかります。
超幾何数列$A(n)$の部分和
$$S(n)=\sum^{n-1}_{k=0}A(k)$$
が閉形式を持つとき、それは漸化式
$$T(n+1)-T(n)=A(n)$$
を満たす超幾何数列$T(n)$を用いて
$$S(n)=T(n)-T(0)$$
と表せる。
互いに相似でない超幾何数列$T_1(n),\ldots,T_r(n)$を用いて
$$S(n)=\sum^r_{k=1}T_k(n)$$
と表したとき、この差分を取ることで
$$A(n)=\sum^r_{k=1}(T_k(n+1)-T_k(n))$$
が成り立つ。このとき$T_k(n+1)-T_k(n)$は$0$でなければ$T_k(n)$と相似であること、および
前回の記事
の命題3(の一意性の部分)に注意すると上の式は
$$A(n)=T_1(n+1)-T_1(n)$$
のようでなければならない。
したがって$T(n)=T_1(n)$とおくと
\begin{align}
S(n)
&=\sum^{n-1}_{k=0}A(k)\\
&=\sum^{n-1}_{k=0}(T(k+1)-T(k))\\
&=T(n)-T(0)
\end{align}
を得る。
超幾何数列$A(n)$がGosper総和可能であるとは、漸化式
$$T(n+1)-T(n)=A(n)$$
を満たすような超幾何数列$T(n)$が存在することを言う。
ちなみに
$$S(n)=\sum^{n-1}_{k=0}(T(k+1)-T(k))=T(n)-T(0)$$
のような変形(ができる和)のことを望遠鏡和(telescoping sum)と言い、また
$$A(n)=T(n+1)-T(n)$$
のような$T(n)$を見つけることで$A(n)$についての和を望遠鏡和の形に変形する手法のことをcreative telescopingといいます。
ではどのようなときに$A(n)$がGosper総和可能であり、そのときどのようにして$T(n)$を求められるのかを考えていきましょう。
超幾何数列$A(n),T(n)$が
$$T(n+1)-T(n)=A(n)$$
を満たすとき
$$r(n)=\frac{A(n+1)}{A(n)},\quad y(n)=\frac{T(n)}{A(n)}$$
とおくと$r(n),y(n)$は有理関数であり
$$r(n)y(n+1)-y(n)=1$$
が成り立つ。
$y(n)$が有理関数であることは
$$y(n)=\frac{T(n)}{T(n+1)-T(n)}=\frac1{\frac{T(n+1)}{T(n)}-1}$$
とわかる。また
$$\frac{T(n+1)}{A(n)}=\frac{A(n+1)}{A(n)}\frac{T(n+1)}{A(n+1)}=r(n)y(n+1)$$
に注意すると
$$\frac{T(n+1)-T(n)}{A(n)}=r(n)y(n+1)-y(n)=1$$
を得る。
この補題により与えられた超幾何数列$A(n)$に対し
$$T(n+1)-T(n)=A(n)$$
を満たすような超幾何数列$T(n)$を求める問題は、与えられた有理関数$r(n)$に対して
$$r(n)y(n+1)-y(n)=1$$
を満たすような有理関数$y(n)$を求める問題に帰着されます。
$0$でない有理関数$r(n)$に対して
$$r(n)=\frac{a(n)}{b(n)}\frac{c(n+1)}{c(n)}$$
なる多項式$a(n),b(n),c(n)$であって以下を満たすようなものが存在する。
互いに素な多項式$f(n),g(n)$を用いて
$$r(n)=\frac{f(n)}{g(n)}$$
と表したとき、ある正整数$h$に対し$f(n)$と$g(n+h)$が共通因子$u(n)$を持つとすると
\begin{align}
f(n)&=\ol f(n)u(n)\\
g(n)&=\ol g(n)u(n-h)\\
U(n)&=u(n-1)u(n-2)\cdots u(n-h)
\end{align}
とおけば
$$r(n)=\frac{\ol f(n)}{\ol g(n)}\frac{u(n)}{u(n-h)}=\frac{\ol f(n)}{\ol g(n)}\frac{U(n+1)}{U(n)}$$
が成り立つ。
このように各$h=1,2,\ldots$に対し$f(n),g(n+h)$の共通因子を掃き出していくことで所望の多項式$a(n),b(n),c(n)$を構成できることがわかる。
いま補題2のような多項式$a(n),b(n),c(n)$を取り
$$y(n)=\frac{b(n-1)}{c(n)}x(n)$$
とおくと考えている方程式は
$$a(n)x(n+1)-b(n-1)x(n)=c(n)$$
と変形できます。そして、驚くべきことに、以下のような事実が成り立ちます。
補題3の(i)を満たすような多項式$a(n),b(n),c(n)$に対し
$$a(n)x(n+1)-b(n-1)x(n)=c(n)$$
なる有理関数$x(n)$が存在すれば$x(n)$は多項式となる。
$x(n)$を互いに素な多項式$f(n),g(n)$を用いて
$$x(n)=\frac{f(n)}{g(n)}$$
と表したとき$g(n)$が定数でないものと仮定し矛盾を導く。
いま$g(n)$の既約因子$u(n)$を任意に取り、適当に平行移動させることで$u(n)$は
$$u(n)\mid g(n)\quad\mbox{かつ}\quad u(n+1)\nmid g(n)$$
を満たすものとしてよい。また$N\geq0$を
$$u(n-N)\mid g(n)\quad\mbox{かつ}\quad u(n-N)\nmid g(n+1)$$
を満たすような整数、例えば$u(n-N)\mid g(n)$を満たすような整数であって最大のものとする。
このとき$x(n)$の満たす等式
$$a(n)\frac{f(n+1)}{g(n+1)}-b(n-1)\frac{f(n)}{g(n)}=c(n)$$
の分母に注目すると
$$u(n+1)\mid a(n)\quad\mbox{かつ}\quad u(n-N)\mid b(n-1)$$
が成り立たなければならないが
$$u(n+1)\mid a(n),b(n+N)$$
となって$a(n),b(n)$の取り方に矛盾。
よって$g(n)$は定数でなければならないことが示された。
以上の議論をまとめると超幾何数列$A(n)$のGosper総和可能性や
$$T(n+1)-T(n)=A(n)$$
なる超幾何数列$T(n)$は次のようなステップによって求めることができます。
基本的には上の手順に沿って計算をすることで$T(n)$を求めることができますが、$A(n)$の与えられ方によってはこれを手計算で実行するのが現実的でないことも少なくありません。そういうときでも$T(n)$を求められるように、より機械的に処理する方法も考えておきましょう。
まずは与えられた有理関数$r(n)$に対してステップ1のような多項式$a(n),b(n),c(n)$を求める方法について考えていきましょう。と言っても大筋は補題3の証明の通り、つまり$r(n)=f(n)/g(n)$と表したとき各$h=1,2,\ldots$に対し$f(n),g(n+h)$の共通因子を掃き出していくことで求められます。
ただし計算上は$h=1,2,\ldots$と無限に続けていくわけにはいかないので、事前に$f(n)$と$g(n+h)$が共通因子を持ち得るような$h$の範囲を求めておく必要があります。それには終結式という概念が重要な役割を果たします。
終結式の定義などについては特に解説しませんが、多項式$p,q$についての終結式$\Res(p,q)$は$p,q$の係数から求まる値であり、$p,q$が共通因子を持つことと$\Res(p,q)=0$となることは同値であることが知られています。特に$f(n),g(n+h)$についての終結式$R(h)$は$h$についての多項式として表せ、これによって$R(h)=0$となるような正整数$h$の値を列挙することができます。
以上のことをまとめるとこの問題は次のようなアルゴリズムによって解決することができます。
ちなみにこのようにして求められた$a(n),b(n),c(n)$は次のような性質を満たします。
$0$でない有理関数$r(n)$に対して
$$r(n)=\frac{a(n)}{b(n)}\frac{c(n+1)}{c(n)}$$
なる多項式$a(n),b(n),c(n)$であって以下を満たすようなものが存在する。
また上のアルゴリズムによって得られる多項式はこれを満たす。
上のアルゴリズムによって得られる多項式を$a(n),b(n),c(n)$とおいたとき、これらが(i),(ii),(iii)を満たすことを示せばよい((i)については明らか)。
もし$a(n)$と$c(n)$が互いに素でなければ、$c(n)$の定め方からある$i,j$に対して$u_j(n-i)$は$a(n)$と共通因子$v(n)$を持つことになる。このとき$a(n)$は$f_{j-1}(n)$を割り切るので$f_{j-1}(n)$も$v(n)$を因数に持ち、また
$$g_{j-1}(n+h_j-i)=g_j(n+h_j-i)u_j(n-i)$$
より$g_{j-1}(n+h_j-i)$も$v(n)$を因数に持つが、$f_{j-1},g_{j-1},h_j$の定め方から任意の$0\leq h< h_j$に対して$f_{j-1}(n)$と$g_{j-1}(n+h)$は互いに素であったことに矛盾。よって$a(n)$と$c(n)$は互いに素でなければならない。
(ii)の場合と同様に$b(n)$と$c(n+1)$が互いに素でなければある$i,j$に対して$u_j(n-i+1)$は$b(n)$と共通因子$v(n)$を持つことになり、このとき$v(n+i-1)$は$f_{j-1}(n),g_{j-1}(n+i-1)$を共に割り切ることがわかるので矛盾を得る。
次に与えられた多項式$a(n),b(n),c(n)$に対して
$$a(n)x(n+1)-b(n-1)x(n)=c(n)$$
を満たすような多項式$x(n)$を求める方法について考えていきましょう。
と言っても多項式の恒等式なので適当に$d$を取って
$$x(n)=\sum^d_{k=0}C_kn^k$$
と展開し係数比較することによって$d+1$個の未知数$C_0,\ldots,C_d$についての線型方程式に帰着させるだけではあります。
ただ求める解が存在しない場合も考慮して$d=\deg x(n)$の取り得る値を求めておく必要があります。いま$a(n)$と$b(n)$の最高次の係数が打ち消し合う場合と打ち消し合わない場合の二通りに分けて考えてみましょう。
このときは件の方程式
$$a(n)x(n+1)-b(n-1)x(n)=c(n)$$
における左辺の次数は$d+\max\{\deg a(n),\deg b(n)\}$となるので
$$d=\deg c(n)-\max\{\deg a(n),\deg b(n)\}$$
と求まります。
このとき$a(n),b(n-1),x(n)$を
\begin{align}
a(n)&=\la n^k+An^{k-1}+\cdots\\
b(n-1)&=\la n^k+Bn^{k-1}+\cdots\\
x(n)&=C n^d+C'n^{d-1}+\cdots
\end{align}
と展開すると
\begin{align}
c(n)
&=a(n)x(n+1)-b(n-1)x(n)\\
&=a(n)(x(n+1)-x(n))+(a(n)-b(n-1))x(n)
\end{align}
の右辺における$n^{k+d-1}$の係数は$C(\la d+A-B)$と表せます。
したがってこれが$0$でなければ
$$d=\deg c(n)-k+1$$
と求まり、これが$0$であれば
$$d=\frac{B-A}\la$$
と求まります。
以上のことをまとめるとこの問題は次のようなアルゴリズムによって解決することができます。
$k=\max\{\deg a,\deg b\}$とし$a(n),b(n-1)$の$k,k-1$次の係数をそれぞれ$\la_a,\la_b,A,B$とおく。
以上がGosper's algorithmの全容となります。
と言ってもアルゴリズムの説明だけではいまいちパッとしないと思うので、ここからは"A=B"に載っているいくつかの簡単な例に対してGosper's algorithmがどのように機能するのかを見ていくこととしましょう。
$$\sum^n_{k=0}(4k+1)\frac{k!}{(2k+1)!}$$
を閉形式に表せ。
$$A(n)=(4n+1)\frac{n!}{(2n+1)!}$$
とおくと
\begin{align}
\frac{A(n+1)}{A(n)}
&=\frac{(4n+5)(n+1)}{(4n+3)(2n+2)(2n+3)}\\
&=\frac1{2(2n+3)}\frac{4n+5}{4n+1}
\end{align}
と表せるので
$$a(n)=1,\quad b(n)=2(2n+3),\quad c(n)=4n+1$$
とおくとよい。
このとき$x(n)$の次数は
$$d=\deg c(n)-\deg b(n)=0$$
と求まるので$x(n)=K$とおくと
\begin{align}
a(n)x(n+1)-b(n-1)x(n)
&=K(1-2(2n+1))\\
&=-K(4n+1)\\
&=-Kc(n)
\end{align}
より$K=-1$を得る。
以上より
\begin{align}
T(n)
&=\frac{b(n-1)}{c(n)}x(n)A(n)\\
&=-\frac{2(2n+1)}{4n+1}\cdot(4n+1)\frac{n!}{(2n+1)!}\\
&=-2\frac{n!}{(2n)!}\\
\sum^n_{k=0}A(k)
&=T(n+1)-T(0)\\
&=2-2\frac{(n+1)!}{(2n+2)!}\\
&=2-\frac{n!}{(2n+1)!}
\end{align}
を得る。
$$\sum^n_{k=0}k\cdot k!$$
を閉形式に表せ。
$A(n)=n\cdot n!$とおくと
$$\frac{A(n+1)}{A(n)}
=\frac{(n+1)^2}n
=\frac{n+1}1\frac{n+1}n$$
と表せるので
$$a(n)=n+1,\quad b(n)=1,\quad c(n)=n$$
とおくとよい。
このとき$x(n)$の次数は
$$d=\deg c(n)-\deg a(n)=0$$
と求まるので$x(n)=K$とおくと
\begin{align}
a(n)x(n+1)-b(n-1)x(n)
&=K((n+1)-1)\\
&=Kn\\
&=Kc(n)
\end{align}
より$K=1$を得る。
以上より
\begin{align}
T(n)
&=\frac{b(n-1)}{c(n)}x(n)A(n)\\
&=\frac1n\cdot(n\cdot n!)=n!\\
\sum^n_{k=0}A(k)
&=T(n+1)-T(0)\\
&=(n+1)!-1
\end{align}
を得る。
$$\sum^n_{k=0}k!$$
は閉形式に表せないことを示せ。
$A(n)=n!$とおくと
$$\frac{A(n+1)}{A(n)}=n+1$$
が成り立つので
$$a(n)=n+1,\quad b(n)=1,\quad c(n)=1$$
とおくとよい。このとき
$$a(n)x(n+1)-b(n-1)x(n)=c(n)$$
なる多項式$x(n)$が存在すればその次数は
$$d=\deg c(n)-\deg b(n)=-1$$
となって不適。よって主張を得る。
$$\sum^n_{k=0}\binom Nk$$
は閉形式に表せないことを示せ。
$A(n)=\binom Nn$とおくと
$$\frac{A(n+1)}{A(n)}=\frac{N-n}{n+1}$$
が成り立つので
$$a(n)=N-n,\quad b(n)=n+1,\quad c(n)=1$$
とおくとよい。このとき
$$a(n)x(n+1)-b(n-1)x(n)=c(n)$$
なる多項式$x(n)$が存在すればその次数は
$$d=\deg c(n)-\deg b(n)=-1$$
となって不適。よって主張を得る。
$$\sum^n_{k=1}\frac1{k^N}\quad(N\geq1)$$
は閉形式に表せないことを示せ。
$A(n)=1/n^N$とおくと
$$\frac{A(n+1)}{A(n)}=\frac{n^N}{(n+1)^N}$$
が成り立つので
$$a(n)=n^N,\quad b(n)=(n+1)^N,\quad c(n)=1$$
とおくとよい。このとき明らかに
$$a(n)x(n+1)-b(n-1)x(n)=n^k(x(n+1)-x(n))=1$$
なる多項式$x(n)$は存在し得ないので主張を得る。
より多くの具体例に対してGosper's algorithmを試してみたい人は"A=B"のp.95, 96にあるExercisesなどを解いてみてはいかがでしょうか(p.97, 98のSolutionsにてその解も載っています)。