超幾何級数の等式自動導出
はじめに
輪講で『A=B』という超幾何級数の等式自動証明についての本を読みました。タイトルが簡素なとこが好き。
The Book "A=B"
pdfが著者のページからダウンロードできる。こういうのいいよね。
超幾何級数の等式自動導出とは
超幾何級数とは、 という形で
が
についての有理関数となっているものです。まあ大雑把には、
とか
とか含む項の和だと思っててください。
超幾何級数の等式の例では、次のようなものがあります。
これは組み合わせ論的にも証明できるけど、そういうのに甘んじず、数式処理ソフトで機械的に証明してやろうというのがこの本の趣旨です。さらには、右辺のような閉形式が分かっていないなら、それを求めることも行います。数式処理ソフトの中身がどうなってるのか気になる人とか、自動証明とか定理証明支援が好きな人には面白いと思います。
さて、自動証明をすることにはどのようなご利益があるのでしょうか。大体以下の3つにまとめられます。
- 人間が証明をサボれる。ミスがない
- 現実的に人の手じゃ無理な等式を証明できる
- 新しい等式の発見ができる
この本では、特に超幾何級数に絞って自動証明を扱っています。僕は統計畑の人間じゃないし、正直超幾何級数のありがたみは良く分かってないのですが、多分次のようなことがうれしいのだと思います。
超幾何級数とは
超幾何級数について定義します。この本ではproper hypergeometric termがよく扱われています。
proper hypergeometric term F(n,k)がproper hypergeomtric termであるとはと書けること。ただし
は多項式で、
は全て整数で他のパラメタを含まず、
は非負整数である。
気持ちとしては と
の両方が
の有理関数になっていることを言っています。以下紹介していくアルゴリズムには、proper hypergeometric termに限定したときだけ、正当性が証明されてるものがいくつかあります。
というように書ける、hypergeometric termの和が超幾何級数です。例えば、テイラー展開を考えれば指数関数はhypergeometric termの和で書けます。
以下特に断らない限り の
は
全体を動くとし、
等は全て0となるとします。
等式自動導出のアルゴリズム
等式自動導出の概略
等式自動導出は次のような手順で進みます。
が満たす漸化式を求める。
- 適切な条件の下、両辺を
をすることで
についての漸化式に変形する。
- その漸化式を解く。
それぞれの手順を順に見て行きます。
漸化式の導出
が満たす漸化式を導出するのは、Celineのアルゴリズム、もしくはその改良版であるZeilbergerのアルゴリズムを用いることで機械的に行えます。まずはCelineのアルゴリズムについて紹介します。
Celineのアルゴリズム 適当な正規性条件の下、漸化式を導出するアルゴリズムが存在する。 ただし、
は多項式。
アルゴリズムがなぜ働くのか大雑把に解説します。未知なのは なのでこれを発見するのが目的になります。まずは、
を固定して考えます。この時、両辺を
で割ると、
は有理関数になるので、適当に分母を払い整理することで
についての多項式になります。 変数
の
係数多項式として整理して、全ての係数が
になる
が発見できればよいことになります。これは
についての
-線型方程式になっています。*1
が変化するとき、未知変数
は
というオーダーで増えていきます。一方方程式の個数、つまり漸化式を整理したときの
の次数は
の線形オーダーで増えます。よって
を小さいものから始めて行き、解が見つかるまで増やしていけば、いつかは未知変数のほうが多くなりこの線型方程式は解けます。
このCelineのアルゴリズムを発展させると次のZeilbergerのアルゴリズムが得られます。
Zeilbergerのアルゴリズム 適当な正規性条件の下、漸化式を導出するアルゴリズムが存在する。 ただし、
は多項式で、
は有理関数。
例えば
はZeilbergerのアルゴリズムを用いると
という漸化式を満たすことが分かります。
WZ Phenomena
の証明中にでてきた特殊な形の漸化式
について考えてみましょう。このような の組をWZ pairと呼びます。先ほどの話の一般化で、このような漸化式が得られれば、適当な条件の下
を取ることで
についての等式を得ることができます。さらにこの漸化式は
と
それぞれの入れ替えについて対称性があります。よって、
を取ることで
についての等式を得ることができます。等式証明の途中でWZ pairがでてきたら、もう一つおまけの等式も得ることができるのです。
このようにWZ pairは一つの等式から新しい等式を得るのに有用です。他にもがWZ pair なら
もWZ pairとなることが示せます。これで新たに2つの等式を得ることができました。
他にもWZ pairを用いて新しい等式を得る方法がいくつもあります。WZ pairはZeilberger + Hyperと比べると一般性のない方法ではありますが、等式の発見ができるという点が有用で面白いです。
あとがき
ここで述べたアルゴリズムは適当な数式処理ソフトを用いて実際に使うことができます。例えばフリーソフトのSageを用いるなら、つぎのリンクが参考になると思います。
github.com
参考文献
Petkovšek, Marko, Herbert S. Wilf, and Doron Zeilberger. "A= B, AK Peters Ltd." Wellesley, MA 30 (1996).