■因数分解の算法(その15)

 (その14)で整数の分割を扱ったので,今回のコラムでは母関数について補足してみたいと思います.コラム「母関数と整数の分割」も併せて参照していただきたいのですが,母関数は強力な発見手段であり,整数や数列の性質を調べるのにベキ級数の問題に翻訳することによって答えを見つけることができるよい例となっています.

===================================

【1】フーリエ型母関数

 数列は補助変数xを用いてベキ級数としてうまく表すことができます.数列{an},すなわち,a0,a1,a2,・・・に対して,

  a0+a1x+a2x^2+・・・=Σanx^n=f(x)

で表される関数f(x)をそのフーリエ型母関数といいます.

  1/(1−x)=1+x+x^2+x^3+・・・

ですから,1/(1−x)は{1,1,1,・・・}のフーリエ型母関数になっていることがわかります.

 まず,母関数(生成関数)についておさえておきましょう.与えられた数列{an}の性質を知ろうとしたとき,数列{an}を直接調べるのではなく,たとえば,xを変数とする級数関数

  φ(x)=a0+a1x+a2x^2+・・・+anx^n+・・・

をつくり,この関数を観察します.数列の性質は何らかの形で関数の振る舞いに反映していると考えられます.こうして数列{an}の数論的性質(離散的)を,関数φ(x)の解析的性質(連続的)によって解明していこうとする発想が母関数のアイディアです.

 たとえば,正の整数nに対して,

  n=k1+2k2+3k3   (k1≧0,k2≧0,k3≧0)

となる解(k1,k2,k3)の個数をanとします.n=5の場合,

  1+1+1+1+1 → (5,0,0)

  1+1+1+2  → (3,1,0)

  1+1+3   → (2,0,1)

  1+2+2   → (1,2,0)

  2+3    → (0,1,1)

ですから,a5=5となります.

  a0=1,a1=1,a2=2,a3=3,a4=4,a5=5,・・・

 このとき,母関数は

  f(x)=Σanx^n=Σx^(k1+2k2+3k3)=Σx^k1Σx^2k2Σx^3k3

 =1/(1−x)・1/(1−x^2)・1/(1−x^3)

となります.

  (1−x)(1−x^2)(1−x^3)Σanx^n=1

ですから,各項の係数を比較すると漸化式

  an=an-1+an-2−an-4−an-5+an-6

を得ることができます.

  a6=7,a7=8,a8=10,a9=12,a10=14,a11=16,・・・

===================================

【2】オイラーの分割関数

 この問題を一般化して

  n=k1+2k2+3k3+・・・   (k1≧0,k2≧0,k3≧0,・・・)の個数p(n)を考えます.n=5の場合,a5に

  1+4,5

が加わり,p(5)=7となります.

 「分割数」とは与えられた整数にどれだけ多くの分割があるのか(4=1+1+1+1,4=3+1)という整数の分割理論のことです.整数の分割では,3=2+1と3=1+2のように足し算の順序が違うものは同じと見なすことにします.

 たとえば,4を分割するには非増加数列で構成した5通りの方法,4=3+1=2+2=2+1+1=1+1+1+1がありますから,p(4)=5.同様にして,5=4+1=3+2=3+1+1=2+2+1=2+1+1+1=1+1+1+1+1よりp(5)=7となります.(分割を図形的に表す方法にヤング図形がある.ヤング図形は非増加な非負整数列を表現する印象的な方法である.)

  p(0)=1,p(1)=1,p(2)=2,p(3)=3,p(4)=5,p(5)=7,p(6)=11,

  p(7)=15,p(8)=22,p(9)=30,p(10)=41,p(11)=56,p(12)=77,・・・

ここで,p(n)はオイラーの分割関数とも呼ばれますが,定義が簡単そうにみえるにも関わらず,易しい式で表すことはできません.

 ところで,分割数は前節と同様に考えて,以下の公式によって代数的に定義することができます.

  f(x)=Π(1-x^n)^(-1)={(1-x)(1-x^2)・・・(1-x^n)・・・}^(-1)

    =(1+x+x^2+・・・)(1+x^2+x^4+・・・)(1+x^3+x^6+・・・)(1+x^4+x^8+・・・)・・・

    =Σp(n)x^n=1+p(1)x+p(2)x^2+p(3)x^3+・・・

すなわち,f(x)は分割関数p(n)の母関数で,p(n)はx^nの係数になっています.

 x^k1を第1因子(1+x+x^2+・・・)の一般項,x^2k2を第2因子(1+x^2+x^4+・・・)の一般項,x^3k3を第3因子(1+x^3+x^6+・・・)の一般項,・・・とすると,

  n=k1+2k2+3k3+・・・

となって,x^nの項が整数nの分割に対応することになるのですが,オイラーはこのようにしてp(n)の母関数

  f(x)=Π(1-x^n)^(-1)={(1-x)(1-x^2)・・・(1-x^n)・・・}^(-1)

    =Σp(n)x^n=1+p(1)x+p(2)x^2+p(3)x^3+・・・

を得たというわけです.

===================================

【3】オイラーの五角数定理

 ところで,オイラーの分割関数の分母

  g(x)=Π(1-x^n)

に関してオイラーが発見した定理をもう一つ紹介しておきましょう.

 分割数p(n)の母関数の逆数

  Π(1-x^n)=(1-x)(1-x^2)(1-x^3)・・・

を考えます.これを展開すると,級数中の係数がすべて0か±1の級数

  Π(1-x^n)=1-x-x^2+x^5+x^7-x^12-x^15+x^22+x^26-x^35-x^40+x^51+・・・

       =Σ(x^(6m^2-m)-x^(6m^2+5m+1))

が得られますが,これが何を意味しているかを発見できるでしょうか?

 一見したところ,何を意味しているのかすら明らかではないのですが,この級数は,mが負になる項も含んだ

  Π(1-x^n)=Σ(-1)^mx^(m(3m-1)/2))

の形にまとめられ,ここで指数の引数がm(3m−1)/2,すなわち,1,5,12,22,35,51,・・・という数列がピタゴラスの五角数であることから,五角数定理と呼ばれています.

 この恒等式は,級数中のx^nの係数がすべて0か±1なのですが,組合せ論の解釈から,偶数個の異なる整数への分割数と奇数個の異なる整数への分割数の差

  Peven(n)-Podd(n)=(-1)^m    n=m(3m+1)/2

  Peven(n)-Podd(n)=0      その他の場合

を表すものと考えられます.

 たとえば,n=8の場合,偶数個の異なる整数への分割は7+1=6+2=5+3の3通り,奇数個の異なる整数への分割は8=5+2+1=4+3+1の3通りですから,その差は0となります.

 個数の差があるのはn=m(3m+1)/2またはn=m(3m−1)/2,すなわち,

  n=1,2,5,7,12,15,22,26,・・・

の場合で,このn=m(3m±1)/2を5角数といいます.nが5角数の場合に限ってPeven(n)とPodd(n)が異なるのですが,五角数は分割問題でも役立つというわけです.

 五角数定理

  Π(1-x^n)=Σ(-1)^mx^(m(3m-1)/2))

はオイラーが分割関数p(n)の研究中に発見した関数等式です(1750年).これがテータ関数の起源であって,ヤコブの仕事において中心的な役割を果たしました.

 オイラーの五角数定理はヤコビの三重積公式を使うとあっさり証明できるのですが,当時これを確認するのは困難で,19世紀に入ってからヤコビがテータ関数を用いて解決しました.五角数定理の完全な証明はヤコビのテータ関数や保型形式の理論の中に求められなければなりません.

 しかし,ヤコビを待つまでもなく,オイラーは五角数定理を証明しました.オイラーはこの定理の証明にほぼ10年を要した(発見は1741年,証明は1750年)のですが,その間,たとえ完全な証明は与えられなくとも正しいことは間違いないことを確信していて,結果の正しさについて,微塵の疑いも抱いていなかったようです.

 なお,オイラーの五角数定理

  Π(1-x^n)=Σ(-1)^mx^(m(3m-1)/2))

により

  x^(1/24)/f(x)=Σ(-1)^nx^((6n-1)^2/24)

したがって,左辺はデデキントのイータ関数の定義そのもの,また,右辺は確かにテータ級数(ベキが平方数であるような交代級数:例えば,1-x+x^4-x^9+x16-・・・)であることがわかります.

 オイラーの五角数定理は,左辺がイータ関数,右辺がテータ関数と呼ばれる保型形式の原型を与えていたので,19世紀には,

  デデキントのイータ関数=ヤコビのテータ関数

すなわち,保型形式の間の等式と捉えられるようになりました.分割関数の母関数は本質的にモジュラー形式を与えるというわけで,さらに,1987年,ウィッテンにより,素粒子の超弦理論はアデール理論として捉えられたことにより,最近では素粒子の超弦理論との関連も研究されています.

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

[補]ヤコビの三角数定理

 1750年のオイラーによる五角数定理

  Π(1-x^n)=Σ(-1)^mx^(m(3m-1)/2))   m(3m-1)/2は五角数

に対して,ヤコビの三角数定理(1829年)とは

  Π(1-x^n)^3=Σ(-1)^m(2m+1)x^((m^2+m)/2)   (m^2+m)/2は三角数

で与えられる関数等式です.

 なお,三角数の母関数は

  (1-x^2)(1-x^4)(1-x^6)・・・/(1-x)(1-x^3)(1-x^5)・・・

  =1+x+x^3+x^6+x^10+・・・

となります.

===================================

【4】ディリクレ型母関数

 母関数φ(x)=Σa(n)k(n,x)において,関数k(n,x)をカーネル(核関数)と呼びます.通常のフーリエ型母関数はカーネルとしてk(n,x)=x^nを,指数型母関数ではk(n,x)=x^n/n!を利用しているというわけですが,これらだけが母関数ではありません.

 k(n,x)=1/n^xを利用した場合,その母関数をディリクレ母関数と呼びます.{1,1,1,・・・}のディリクレ母関数はゼータ関数ζ(x)=Σ1/n^xです.他ほかにも核関数として二項係数(x,n)などを利用することができますが,k(n,x)=(x,n)の場合がニュートン母関数です.

===================================

【5】ゼータ関数

 ゼータ関数:ζ(s)=Σ1/n^sは次のように書き換えることができます.

  ζ(s)=1/1^s +1/2^s +1/3^s +1/4^s +・・・

  =(1+1/2^s +1/4^s +1/8^s +・・・)(1+1/3^s +1/9^s +・・・)(1+1/5^s +・・・)・・・

      =1/(1−2^-s)・1/(1−3^-s)・1/(1−5^-s)・1/(1−7^-s)・・・

      =Π(1−p^-s)^-1   (但し,pはすべての素数を動く.)

  1+x+x^2 +x^3 +・・・=1/(1−x)

にx=1/p^s を代入したものを,Π(1−p^-s)^-1に代入して積を展開すると,自然数の素因数分解の一意性からζ(s)=Σ1/n^s となることがおわかりいただけるでしょうか.

 この式の右辺は,すべての素数にわたる無限積であり,このような関係から,自然数全体についての和ζ(s)=Σ1/n^s の話が素数全体についての積Π(1−p-s)^-1の話になります.Π(1−p^-s)^-1はオイラー積と呼ばれ,ゼータ関数と素数の間をつなぐ式になっています.

 調和級数1/1+1/2+1/3+・・・は,オイラー積表示するとΠ(1−1/p)^-1と書けますから,Π(1−1/p)^-1〜∞.また,logΠ(1−1/p)=Σlog(1−1/p).1/pが非常に小さいとき,マクローリン展開よりΣlog(1−1/p)〜−Σ(1/p)ですから,Σ(1/p)=∞になります.したがって,すべての素数の逆数の和は発散することが示されます.

 さらに,このことを詳しく調べると,

  Σ(1/p)〜log(logx) (pはp≦xの素数を動く,証明略)

すなわち,

  1/2+1/3+1/5+1/7+1/11+・・・+1/n〜loglogn→∞

などがわかってきます.

 1737年,オイラーはこのようにして素数の逆数の和が無限大になることを見つけました.逆に,このことから,素数が無限個あることは簡単にわかります.また,調和級数Σ(1/n)は発散し,また,オイラー級数Σ(1/n^2 )=π^2 /6で収束しますから,素数は平方数ほどまばらには分布していないこともわかります.

 以上より,オイラー積は自然数の素因数分解の一意性の解析的表現と考えられ,ゼータ関数は整数論の基本定理の母関数ということができるでしょう.また,素数が無限にあることも導けますので,ゼータ関数はユークリッドの素数定理の母関数でもあるのです.

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

 その差が2であるような素数のペア(p,p+2)を双子素数と呼びます.小さな双子素数には(3,5),(5,7),(11,13),(17,19),・・・など,ちょっと大きなものでは(22271,22273),・・・などがあります.

 双子素数が無限に多く存在するかどうかは今のところわかっていません.双子素数の場合に難しいのは素数全体のときと異なって,双子素数の逆数の和

  1/3+1/5+1/5+1/7+1/11+1/13+1/17+1/19+・・・+1/p+1/(p+2)+・・・

が無限大とはならずに,その和が1.90195・・・(ブルンの定数:1919年)となることが証明されている点です.このことは,双子素数が無限にあるとしても,まれにしか存在しないことを示しています.そのため,双子素数が無限に存在することの有力な証拠は見つかっているにもかかわらず,完全な証明には至っていないのです.

 自然数nの約数の個数をd(n)とします.すなわち,d(n)は約数関数であり,d(n)=2のときnは素数,d(n)=d(n+2)=2のとき(n,n+2)は双子素数です.

  ζ(s)^2=Σd(n)/n^s

と表されることより,ζ(s)^2はd(n)のディリクレ型母関数であることがわかります.同様に,

  メビウス関数 :  ζ(s)^-1=Σμ(n)/n^s

  マンゴルト関数:  −ζ(s)’/ζ(s)=ΣΛ(n)/n^s

===================================

[参]平松豊一「初等数学アラベスク」牧野書店

===================================