はじめての超越数

超越数とは、代数方程式の答にならない数のことです。wikipedia:超越数
整数の間を埋める数には、小数や分数があります。
整数の割り算の答は、たとえ割り切れなかった場合でも、小数点以下は一定周期の繰り返しになります。
つまり規則的な循環小数になるわけです。
しかし、あらゆる実数が循環小数になるわけではありません。
例えば平方根 √2 や、黄金比 (1+√5)/2、立方根 3√2 といった数は、
小数点以下が循環していない、不規則に見える数です。
こういった不規則に見える数が無理数です。
ただ、不規則とはいえ、上の例に上げた数は全て何らかの代数方程式の答になっています。
 √2 は X^2 = 2 の答。
 (1+√5)/2 は X^2 = X + 1 の答。
 3√2 は X^3 = 2 の答。
なので、たとえ小数点以下が不規則に見えても、代数的に見れば規則的な数なのだという気がします。
ところが、実数の中には代数方程式の答にすらなっていない、全く不規則に見える数が存在します。
それが超越数です。
円周率πや、自然対数の底eは、超越数の代表例です。
しかも超越数は例外的な存在ではありません。
カントールによれば、ほとんどの実数は超越数なのです。

それほどまでにありふれた存在でありながら、具体的に、これが超越数だとはっきりわかる数は、ほとんどありません。
というのも、「与えられた数が超越数であるかどうかを調べるのは難しい問題だとされて」いるからです。
ならば多少難しくてもよいから、せめて1つくらい、超越数だとはっきりわかるような数は無いものか・・・
そう思って探したところ、リウヴィル数という数が目に止まりました。wikipedia:リウヴィル数
リウヴィル数は、歴史的に最初に示された具体的な超越数です。

今回の記事は、以下の3つの文献をもとにしています・・・
というより、以下の3つの文献から抜き書きして、私なりに余計な説明を付け加えたものです。
* 無理数超越数について
>> http://www.math.meiji.ac.jp/files/active/0/ao2005lec.pdf
  これさえ読めば必要充分です。いちばん分かりやすかった。
* 超越数入門
>> http://www5.pf-x.net/~tetsuya1/math/transcendental_number_theory.pdf
  セミナー資料のようです。証明は1ページにコンパクトにまとまっていて明快です。
* The Beginning of Transcendental Numbers
>> http://www.math.sc.edu/~filaseta/gradcourses/Math785/Math785Notes5.pdf
  英語ですが、上の2つを見た後であれば、苦労せずに読めることでしょう。


定義:リウヴィル数(Liouville Number)とは、
あらゆる正の整数nに対して、次式に示すような有理数 a/b が存在するような数αのことです。
 0 < | α - a/b | < 1 / b^n   -- 定義式
   n : 正の整数
   a, b : 正の整数、b > 1
※ここでは定義式の右辺を 1 / b^n としましたが、分子の 1 を任意の正数εに置き換えて ε / b^n まで一般化できます。ここでは簡単のため ε=1 に固定しました。

リウヴィル数の具体例は、こんな数です。
  α = Σ[i=1〜∞]( 1 / 2 ^ i ! )
    = 1/2^1 + 1/2^(1・2) + 1/2^(1・2・3) + 1/2^(1・2・3・4) + ・・・
これを2進法の小数で書くと
α = 0.110001 000000 000000 000001 00000 ・・・
といった感じで、i ! 階乗の桁のところに 1 が来るような無限小数になっています。
 1! = 1 = 1桁目
 2! = 1・2 = 2桁目
 3! = 1・2・3 = 6桁目
 4! = 1・2・3・4 = 24桁目
ですぞ。
上の例は 1/2 がベースになっていますが、これが例えば 1/3 であっても、1/10 であってもやはりリウヴィル数になります。
つまり、
  α = Σ[i=1〜∞]( 1 / 3 ^ i ! )  もリウヴィル数、
  α = Σ[i=1〜∞]( 1 / 10 ^ i ! )   もリウヴィル数です。
それぞれ3進法や10進法で書けば、無限小数の表現は全く同じになります。

まず、この具体例がリウヴィル数の定義式を満たしているかどうか確かめてみましょう。
α = Σ[i=1〜∞]( 1 / 2 ^ i ! )  -- 上記の例のリウヴィル数です。
a/b = Σ[i=1〜n]( 1 / 2 ^ i ! )  -- αの先頭からn項だけをとってきたものです。
b = 2 ^ n!   -- n項目の分母を抜き出してきたものです。
なぜαの先頭からn項だけをとってきたものが a/b という分数の形に書けるのか。
それは、一番分母が大きい最後の項に合わせて通分することができるからです。
具体的に n = 3 とすると、
a/b = 1/2^1 + 1/2^(1・2) + 1/2^(1・2・3)    -- 先頭の3項だけ。
   = {2^(1・2・3 - 1) + 2^(1・2・3 - 1・2) + 2^(1・2・3 - 1・2・3} / 2^(1・2・3)
   = {32 + 16 + 1} / 64   -- 3項目の分母で通分できる。

以上のようにα, a, b を置いて、定義式の左辺からスタートしましょう。
  | α - a/b | = Σ[i=n+1〜∞]( 1 / 2 ^ i ! )
αの先頭からn項だけを除いたものですから、残りはn+1項目以下だということになります。
具体的に n = 2 とすると、
 a/b = 1/2^1 + 1/2^(1・2)  -- 先頭の2項だけ。
 Σ[i=n+1〜∞]( 1 / 2 ^ i ! ) = 1/2^(1・2・3) + 1/2^(1・2・3・4) + ・・・ -- 3項目以下
ってことですよ。
ここまでは分母が 2^i ! 階乗のものを考えてきたのですが、これと、分母が単純に2の倍数になっている級数を比べてみます。
つまり
 1/2^1 + 1/2^2 + 1/2^3 + 1/2^4 + ・・・といった数列と比較してみるわけです。
すぐに気付くのは、単純に2の倍数になっている級数は、 2^i ! 階乗のものを含んでいる、ということです。
なので、2の倍数の級数の方が、2! 階乗のものよりも値が大きいわけです。
これを、先の残りのn+1項目以下にあてはめますと、
  Σ[i=n+1〜∞]( 1 / 2 ^ i ! ) < Σ[i=(n+1)!〜∞]( 1 / 2 ^ i )
となります。
具体的に n = 2 のときは、
 1/2^(1・2・3) + 1/2^(1・2・3・4) + ・・・ < 1/2^6 + 1/2^7 + 1/2^8 ・・・
ってことですよ。
ところで、分母が2の倍数になっている級数って、結果がわかってるんですよね。
 1/2 + 1/4 + 1/8 + 1/16 ・・・ = 1
半分の、そのまた半分の、そのまた半分の、そのまた半分の・・・って足し合わせたら、1に近づくじゃないですか。
「等比級数」ってやつです。
だから、上の式の結果もわかっていて、
 Σ[i=(n+1)!〜∞]( 1 / 2 ^ i ) = 1 / 2^((n+1)! - 1) になるんです。☆
さてこの結果と、定義式の右辺を比べてみましょう。
定義式の右辺は 1 / b^n = 1 / (2 ^ n!) ^ n = 1 / 2 ^ (n!・n) でした。
☆からの続き・・・
  1 / 2^((n+1)! - 1)
 = 1 / 2^(n!(n+1) - 1)
 = 1 / 2^(n! {n+1 - n!} )
 <= 1 / 2^(n!・n)
 = ε / b^n    --(定義式の右辺)
ごくろうさま。
改めて最初から並べて書くと、
  | α - a/b |
 = Σ[i=n+1〜∞]( 1 / 2 ^ i ! )
 < Σ[i=(n+1)!〜∞]( 1 / 2 ^ i )
 = 1 / 2^((n+1)! - 1)
 <= 1 / 2 ^ (n!・n)
 = 1 / b^n
確かに、定義式を満たしていますね。

さて、このリウヴィル数が超越数となっていることが知りたいのですが、
それには最初の定義式が重要な役割を果たします。
まずは定義式を反対にした、次の定理を示します。

αがn次の代数方程式の答であれば、適切なεを選ぶことによって、
 | α - a/b | >= ε / b^n    -- (1)
を、あらゆる有理数 a/b に対して成り立たせることができる。

いま、αが代数方程式
 A[n] X^n + A[n-1] X^(n-1) + A[n-2] X^(n-2) + A[n-3] X^(n-3) ・・・ = 0
の答になっているのだとしましょう。
A[*] と書いたのは係数で、全て整数です。
(もし A[*] が有理数であっても、全体に適当な数を掛けて整数にできます。)
また、αを答に持つような代数方程式は、最低でも2次以上になっているものとします。
つまり上の代数方程式は n >= 2 となっています。
(こういうのを「αは2次以上の代数的数である」、
 あるいは「αの最小多項式は2次以上である」と言います。)

まず | α - a/b | が0になっていないことを確認します。
もし | α - a/b | = 0 だったとすると、それはα = a/b、
すなわち方程式の答αが有理数 a/b であったことを意味します。
それだとαは1次式 bα - a = 0 の答になるので、2次以上の代数的数にはなりません。
なので、| α - a/b | > 0 となっているはずです。
また、このことから a/b は代数方程式の答になっていないことも分かります。
ということは、代数多項式の右辺に a/b を代入しても、結果は0にはなりません。
代数多項式の右辺を
 f(X) = A[n] X^n + A[n-1] X^(n-1) + A[n-2] X^(n-2) + A[n-3] X^(n-3) ・・・
と置いて、X に a/b を代入してみます。
 f(a/b) = { A[n] a^n + A[n-1] a^(n-1) + A[n-2] a^(n-2) + A[n-3] a^(n-3) ・・・ } / b^n
分子が a の多項式、分母は b^n となります。
分子は全て整数で、0ではなかったのですから、分子の絶対値は1より大きいはず、つまり
 | f(a/b) | >= 1 / b^n    -- (2)
となるはずです。

ここで、f(a/b) と f(α) の間にある数のことを考えます。
* a/b と α の距離が1より小さい、つまり | a/b - α | <= 1 であった場合:
間にある数の存在を確かめる、ということで、微積分で使う「平均値の定理」を応用します。wikipedia:平均値の定理
αは代数方程式の答だったのですから、f(α) = 0 だったことに注意すると、
 f(a/b) = f(a/b) - f(α) = (a/b - α) f'(θ)
となるような f'(θ) が存在しています。
式に絶対値を付けて順序を変えて、
 | f(a/b) | = | α - a/b |・| f'(θ) |
としておきます。
f'(X) という関数は連続ですから、| X - α | <= 1 の範囲で最大値を持ちます。
その最大値を M とします。
M は | f'(θ) | 以上になっていますから、
 | α - a/b |・| f'(θ) | <= | α - a/b |・M
整理すると、
 | f(a/b) | <= | α - a/b |・M
 1/M・| f(a/b) | <= | α - a/b |
この式と、上の(2)式を合わせると、
 | α - a/b | >= (1/M)・| f(a/b) | >= (1/M)・(1 / b^n)  -- (3)

* a/b と α の距離が1より大きい、つまり | a/b - α | > 1 であった場合:
 | α - a/b | > 1 >= 1 / b^n  ですね。   -- (4)
(3)式、(4)式を合わせれば、目的であった(1)式が示せます。
1/M と 1 の小さい方を εと置けば、(1)式が成立しています。

ここまで来れば、あと一息。
リウヴィル数の定義は、こうでした。
  | α - a/b | < 1 / b^n     -- 定義式
そして、代数方程式の答αに対して成立するのは、次の(1)式です。
  | α - a/b | >= ε / b^n    -- (1)
(1)式の正数εに対して、ε> 1 / 2^r となるように充分大きな r をとります。
定義式の n は任意でしたから、改めて (n + r) に置き換えます。
すると定義式は
  | α - a/b | < 1 / b^(n + r)
と書き直せます。ところが
  1 / b^(n + r) <= 1 / b^n・2^r <= ε / b^n
つまり
  | α - a/b | < ε / b^n
となるので、これは(1)式と矛盾してしまうのです。
なぜ矛盾するのか、それはαが代数方程式の答にはなっていないからです。
すなわち、リウヴィル数αは超越数です!

おまけ: 3月14日は何の日?
ホワイトデーと答えた君は、まだまだ甘い。
3.14、つまり円周率の日だ! wikipedia:円周率の日