コンテンツにスキップ

漸化式と母関数:特性方程式・行列の冪・Fibonacci 数・分割数

対象読者: 本テーマ第 3 章(多項式と高次方程式)と第 7 章(数列の和と帰納法)を学んだ高校生。行列の積の基本は既習とし、大学の線形代数や複素解析は仮定しません。

前提となる記事:多項式の割り算と高次方程式:因数定理から Cardano の公式・1 の冪根まで、数列:等差・等比、和の計算、差分と和分、数学的帰納法

生 Markdown

「前の項から次の項を決める規則」で並ぶ数列について、100 番目の項を 99 回の計算なしに一気に求められないか、という話です。Fibonacci 数のような身近な数列を例に、規則から nn 番目の項の式を作る方法を、行列や、数列を 1 つの式にまとめる道具(母関数)まで広げて説明します。読み終えると、典型的な漸化式の一般項を自分で求められ、Fibonacci 数の約数の性質や分割の数え方の恒等式も、計算で示せるようになります。

  • 隣り合う項の関係 an+1=pan+qa_{n+1}=pa_n+q は、固定点 c=pc+qc=pc+q を引けば等比数列に帰着します。3 項間の線形漸化式 an+2=pan+1+qana_{n+2}=pa_{n+1}+qa_n は、特性方程式 x2=px+qx^2=px+q の解 α,β\alpha,\beta で an=Aαn+Bβna_n=A\alpha^n+B\beta^n(重解のときは (A+Bn)αn(A+Bn)\alpha^n)と書けます。解全体が 2 次元の空間をなす、というのが理由です。
  • 行列 MM の冪は、xnx^n を特性多項式で割った余り unx+vnu_nx+v_n から Mn=unM+vnIM^n=u_nM+v_nI と計算できます。Fibonacci 数、グラフの歩道の数、重根の nαnn\alpha^n(Jordan 細胞)がこの 1 つの計算で現れます。
  • 分数型の漸化式 an+1=pan+qran+sa_{n+1}=\tfrac{pa_n+q}{ra_n+s} は、固定点を使って 2 項間の等比型に直せます。
  • Fibonacci 数の最大公約数は gcd⁡(Fm,Fn)=Fgcd⁡(m,n)\gcd(F_m,F_n)=F_{\gcd(m,n)}。証明は、行列の冪から出る加法公式と、互除法の考え方だけです。
  • 母関数 ∑anxn\sum a_nx^n は、数列を 1 つの関数にまとめます。漸化式を満たす数列の母関数は有理関数で、xx に数を代入してよい範囲(収束する範囲)も具体的に決まります。
  • Euler の分割恒等式(奇数の部分への分割の数 = 相異なる部分への分割の数)は、母関数の積の計算だけで示せます。

1. 動機:漸化式の「解」とは何か

Section titled “1. 動機:漸化式の「解」とは何か”

漸化式 an+2=an+1+ana_{n+2}=a_{n+1}+a_n(Fibonacci 数)は、初項を与えれば全項が決まる、という意味で「解がある」ことは明らかです。しかし「nn 番目の項はいくつか」を知るには、n−2n-2 回の足し算をするしかないのでしょうか。高校では、特性方程式という手順で Fn=15(ϕn−ψn)F_n=\tfrac{1}{\sqrt5}\bigl(\phi^n-\psi^n\bigr)(ϕ,ψ=1±52\phi,\psi=\tfrac{1\pm\sqrt5}2)という閉じた式(Binet の公式)を得ますが、この手順は暗記の対象になりがちです。なぜ αn\alpha^n という形を仮定してよいのか、重解のときになぜ nαnn\alpha^n が加わるのか。

この記事は、その理由を次の 3 つの視点から説明します。

  1. ベクトル空間として:漸化式を満たす数列全体は 2 次元のベクトル空間で、αn\alpha^n と βn\beta^n はその基底になる。
  2. 行列として:漸化式は 2 次の行列の冪 MnM^n の計算で、MnM^n は xnx^n を特性多項式で割った余りで書ける。
  3. 母関数として:数列 (an)(a_n) を冪級数 ∑anxn\sum a_nx^n に写すと、漸化式は多項式の掛け算になり、解は有理関数として一目でわかる。

使う道具は前の章の、多項式の除法の原理(多項式の除法の原理(定理 2.2)[多項式の割り算と高次方程式])、複素数係数の 2 次方程式(複素数係数の 2 次方程式(定理 4.2)[多項式の割り算と高次方程式])、数列の和と差分(数列)です。この記事では、項番号を 00 から始める数列 (an)n≥0(a_n)_{n\ge0} も使います。

定理 2.1(1 次の 2 項間漸化式)✓

p,qp,q を複素数とし、数列 (an)n≥0(a_n)_{n\ge0} が an+1=pan+qa_{n+1}=pa_n+q を満たすとする。p=1p=1 なら an=a0+nqa_n=a_0+nq。p≠1p\ne1 なら、c=q1−pc=\dfrac q{1-p}(c=pc+qc=pc+q を満たす固定点)として

an=pn(a0−c)+c.a_n=p^n(a_0-c)+c.
証明(定理 2.1)

p=1p=1 のときは an+1=an+qa_{n+1}=a_n+q で等差数列。p≠1p\ne1 のとき bn=an−cb_n=a_n-c とおくと、bn+1=pan+q−c=p(an−c)+(pc+q−c)=pbnb_{n+1}=pa_n+q-c=p(a_n-c)+(pc+q-c)=pb_n(pc+q=cpc+q=c より)。よって bn=pnb0b_n=p^nb_0(帰納法)で、an=c+pn(a0−c)a_n=c+p^n(a_0-c) です。

次の定理は、αn\alpha^n の形の解を探せば十分だ、という主張です。証明の前半は線形代数の言葉(解全体が 2 次元の空間をなす)を使いますが、要は「最初の 2 項で数列が決まるので、独立な解が 2 つ見つかれば全部の解が書ける」ということです。

定理 2.2(3 項間の線形漸化式と特性方程式)✓

p,qp,q を複素数、q≠0q\ne0 とし、数列 (an)n≥0(a_n)_{n\ge0} が an+2=pan+1+qana_{n+2}=pa_{n+1}+qa_n を満たすとする。特性方程式 x2−px−q=0x^2-px-q=0 の 2 解を α,β\alpha,\beta とする(複素数係数の 2 次方程式(定理 4.2)[多項式の割り算と高次方程式])。

  • α≠β\alpha\ne\beta のとき、an=Aαn+Bβna_n=A\alpha^n+B\beta^n となる定数 A,BA,B がただ 1 組ある(A+B=a0A+B=a_0、Aα+Bβ=a1A\alpha+B\beta=a_1)。
  • α=β\alpha=\beta のとき、an=(A+Bn)αna_n=(A+Bn)\alpha^n となる A,BA,B がただ 1 組ある(A=a0A=a_0、B=a1/α−a0B=a_1/\alpha-a_0)。
証明(定理 2.2)

構造。 この漸化式を満たす複素数列全体 VV は、項ごとの和とスカラー倍で閉じているので、複素ベクトル空間をなします(ベクトル空間(定義 3.1)[ベクトル空間と線形変換])。a∈Va\in V は最初の 2 項 (a0,a1)(a_0,a_1) で一意に決まり(帰納法)、任意の (a0,a1)∈C2(a_0,a_1)\in\mathbb{C}^2 に対して VV の元がある(漸化式で項を決める)ので、a↦(a0,a1)a\mapsto(a_0,a_1) は線形な全単射、すなわち VV は 2 次元です。したがって、VV の 2 つの元で初期値の組 (a0,a1)(a_0,a_1) が 1 次独立なものを見つければ、それが VV の基底になります。

解の候補。 un=αnu_n=\alpha^n は漸化式を満たします:αn+2−pαn+1−qαn=αn(α2−pα−q)=0\alpha^{n+2}-p\alpha^{n+1}-q\alpha^n=\alpha^n(\alpha^2-p\alpha-q)=0。βn\beta^n も同様です。

α≠β\alpha\ne\beta のとき。 un=αnu_n=\alpha^n、vn=βnv_n=\beta^n の初期値は (1,α)(1,\alpha)、(1,β)(1,\beta) で、行列式 β−α≠0\beta-\alpha\ne0 なので 1 次独立。基底なので、任意の a∈Va\in V は Aαn+BβnA\alpha^n+B\beta^n と一意に書け、A,BA,B は n=0,1n=0,1 の条件の連立方程式の解です。

α=β\alpha=\beta のとき。 p=2αp=2\alpha、q=−α2q=-\alpha^2 なので α≠0\alpha\ne0。un=αnu_n=\alpha^n と wn=nαnw_n=n\alpha^n を考えます。wn+2=(n+2)αn+2w_{n+2}=(n+2)\alpha^{n+2} で、pwn+1+qwn=2α(n+1)αn+1−α2⋅nαn=(n+2)αn+2pw_{n+1}+qw_n=2\alpha(n+1)\alpha^{n+1}-\alpha^2\cdot n\alpha^n=(n+2)\alpha^{n+2} より w∈Vw\in V。初期値は (1,α)(1,\alpha) と (0,α)(0,\alpha) で、行列式 α≠0\alpha\ne0 なので 1 次独立、基底になります。

例 2.3(Fibonacci 数の閉じた式)

F0=0F_0=0、F1=1F_1=1、Fn+2=Fn+1+FnF_{n+2}=F_{n+1}+F_n。特性方程式 x2−x−1=0x^2-x-1=0 の解は ϕ=1+52\phi=\tfrac{1+\sqrt5}2、ψ=1−52\psi=\tfrac{1-\sqrt5}2 で相異なる。A+B=0A+B=0、Aϕ+Bψ=1A\phi+B\psi=1 から A=1ϕ−ψ=15A=\tfrac1{\phi-\psi}=\tfrac1{\sqrt5}、B=−15B=-\tfrac1{\sqrt5}。よって Fn=ϕn−ψn5F_n=\dfrac{\phi^n-\psi^n}{\sqrt5}(Binet の公式)。∣ψ∣<1|\psi|<1 なので FnF_n は ϕn/5\phi^n/\sqrt5 に最も近い整数です。

例 2.4(重解の場合)

an+2=4an+1−4ana_{n+2}=4a_{n+1}-4a_n、a0=1a_0=1、a1=4a_1=4。特性方程式 x2−4x+4=0x^2-4x+4=0 は重解 α=2\alpha=2。A=1A=1、B=4/2−1=1B=4/2-1=1 から an=(1+n)2na_n=(1+n)2^n。確かめると a2=4⋅4−4⋅1=12=3⋅22a_2=4\cdot4-4\cdot1=12=3\cdot2^2 ✓。

行列 MM の冪を、素朴に掛け算を繰り返さずに求めたい、という動機の節です。M2M^2 が MM と単位行列の組み合わせで書ければ、M3,M4,…M^3,M^4,\dots もすべて MM と II の組み合わせに押し込めます。その組み合わせの係数を、多項式の割り算の余りで機械的に決めるのが次の定理です。

定理 3.1(行列の冪を多項式の剰余で計算する)✓

MM を複素係数の正方行列とし、M2−tM+dI=0M^2-tM+dI=0(零行列)を満たすとする(2×22\times2 行列では t=tr⁡Mt=\operatorname{tr}M、d=det⁡Md=\det M がこれを満たす:ケーリー・ハミルトンの定理(系 7.3)[加群と PID 上の構造定理]。特性多項式は 特性多項式(定義 4.1)[固有値と固有ベクトル])。多項式 xnx^n を χ(x)=x2−tx+d\chi(x)=x^2-tx+d で割った余りを unx+vnu_nx+v_n とする(多項式の除法の原理(定理 2.2)[多項式の割り算と高次方程式])と、

Mn=unM+vnI(n≥0)M^n=u_nM+v_nI\qquad(n\ge0)

である。さらに u0=0u_0=0、v0=1v_0=1、un+1=tun+vnu_{n+1}=tu_n+v_n、vn+1=−dunv_{n+1}=-du_n。とくに un+2=tun+1−dunu_{n+2}=tu_{n+1}-du_n で、χ\chi の解 α≠β\alpha\ne\beta に対し un=αn−βnα−βu_n=\dfrac{\alpha^n-\beta^n}{\alpha-\beta} である。

証明(定理 3.1)

xn=Q(x)χ(x)+unx+vnx^n=Q(x)\chi(x)+u_nx+v_n に x=Mx=M を代入します。MM の多項式どうしは積について可換で、和と積は多項式の演算を保つので Mn=Q(M)χ(M)+unM+vnIM^n=Q(M)\chi(M)+u_nM+v_nI、そして χ(M)=0\chi(M)=0 です。

漸化式:xn+1=x(Qχ+unx+vn)=xQχ+unx2+vnxx^{n+1}=x(Q\chi+u_nx+v_n)=xQ\chi+u_nx^2+v_nx で、x2=χ+tx−dx^2=\chi+tx-d より unx2+vnx≡(tun+vn)x−dun(modχ)u_nx^2+v_nx\equiv(tu_n+v_n)x-du_n\pmod\chi。余りの一意性(多項式の除法の原理(定理 2.2)[多項式の割り算と高次方程式])から un+1=tun+vnu_{n+1}=tu_n+v_n、vn+1=−dunv_{n+1}=-du_n。消去して un+2=tun+1−dunu_{n+2}=tu_{n+1}-du_n。α,β\alpha,\beta は χ\chi の解なので xn=Qχ+unx+vnx^n=Q\chi+u_nx+v_n に代入して αn=unα+vn\alpha^n=u_n\alpha+v_n、βn=unβ+vn\beta^n=u_n\beta+v_n。引くと un=αn−βnα−βu_n=\tfrac{\alpha^n-\beta^n}{\alpha-\beta}。

命題 3.2(Fibonacci 行列の冪)✓

F0=0F_0=0、F1=1F_1=1、Fn+2=Fn+1+FnF_{n+2}=F_{n+1}+F_n とし、M=(1110)M=\begin{pmatrix}1&1\\1&0\end{pmatrix} とする。n≥1n\ge1 について

Mn=(Fn+1FnFnFn−1).M^n=\begin{pmatrix}F_{n+1}&F_n\\F_n&F_{n-1}\end{pmatrix}.
証明(命題 3.2)

MM は t=tr⁡M=1t=\operatorname{tr}M=1、d=det⁡M=−1d=\det M=-1 で、χ=x2−x−1\chi=x^2-x-1。xn≡Fnx+Fn−1(modχ)x^n\equiv F_nx+F_{n-1}\pmod\chi(n≥1n\ge1)を帰納法で示します。n=1n=1 は x≡F1x+F0x\equiv F_1x+F_0。xn+1≡Fnx2+Fn−1x≡Fn(x+1)+Fn−1x=(Fn+Fn−1)x+Fn=Fn+1x+Fnx^{n+1}\equiv F_nx^2+F_{n-1}x\equiv F_n(x+1)+F_{n-1}x=(F_n+F_{n-1})x+F_n=F_{n+1}x+F_n(x2≡x+1x^2\equiv x+1)。定理 3.1 と余りの一意性から Mn=FnM+Fn−1I=(Fn+Fn−1FnFnFn−1)M^n=F_nM+F_{n-1}I=\begin{pmatrix}F_n+F_{n-1}&F_n\\F_n&F_{n-1}\end{pmatrix} で、Fn+Fn−1=Fn+1F_n+F_{n-1}=F_{n+1} です。

例 3.3(重解と Jordan 細胞)

M=(α10α)M=\begin{pmatrix}\alpha&1\\0&\alpha\end{pmatrix}(Jordan 細胞、ジョルダン細胞(定義 6.1)[対角化とジョルダン標準形]、α≠0\alpha\ne0 とする。α=0\alpha=0 なら M2=0M^2=0 で、n≥2n\ge2 で Mn=0M^n=0)は t=2αt=2\alpha、d=α2d=\alpha^2、χ=(x−α)2\chi=(x-\alpha)^2。重解のときも unu_n の漸化式は un+2=2αun+1−α2unu_{n+2}=2\alpha u_{n+1}-\alpha^2u_n、u0=0u_0=0、u1=1u_1=1 で、定理 2.2 の重解の場合から un=nαn−1u_n=n\alpha^{n-1}、vn=−α2un−1=−(n−1)αnv_n=-\alpha^2u_{n-1}=-(n-1)\alpha^n。したがって Mn=nαn−1M−(n−1)αnI=(αnnαn−10αn)M^n=n\alpha^{n-1}M-(n-1)\alpha^nI=\begin{pmatrix}\alpha^n&n\alpha^{n-1}\\0&\alpha^n\end{pmatrix}。重解の漸化式に nαnn\alpha^n が現れる理由は、対角化できない行列(Jordan 細胞)の冪に nαn−1n\alpha^{n-1} が現れるからです。

命題 3.4(歩道の数と行列の冪)✓

有限な有向グラフ(頂点 1,…,m1,\dots,m、頂点 ii から jj への辺が AijA_{ij} 本)の隣接行列を AA とする。このとき、頂点 ii から jj へ長さ nn の歩道(辺を nn 本順にたどる道)の数は (An)ij(A^n)_{ij} である。

証明(命題 3.4)

nn に関する帰納法。n=0n=0 は A0=IA^0=I(長さ 0 の歩道は i=ji=j のときのみ 1 本)。長さ n+1n+1 の歩道は、ii から kk への長さ nn の歩道と、kk から jj への辺 1 本の組なので、その数は ∑k(An)ikAkj=(An+1)ij\sum_k(A^n)_{ik}A_{kj}=(A^{n+1})_{ij}(行列の積(定義 4.1)[行列と連立一次方程式])です。

例 3.5(三角形の上の歩道)

3 頂点の完全グラフの隣接行列 A=J−IA=J-I(JJ は成分がすべて 11 の行列)は A2=J2−2J+I=3J−2J+I=A+2IA^2=J^2-2J+I=3J-2J+I=A+2I なので、t=1t=1、d=−2d=-2、χ=x2−x−2=(x−2)(x+1)\chi=x^2-x-2=(x-2)(x+1)。定理 3.1 から un=2n−(−1)n3u_n=\tfrac{2^n-(-1)^n}{3}、vn=2un−1=2n+2(−1)n3v_n=2u_{n-1}=\tfrac{2^n+2(-1)^n}{3}。AA の対角成分は 00 なので、頂点 1 から 1 へ戻る長さ nn の歩道の数は (An)11=vn=2n+2(−1)n3(A^n)_{11}=v_n=\tfrac{2^n+2(-1)^n}{3}。n=2n=2 で 22(1→2→11\to2\to1、1→3→11\to3\to1)、n=3n=3 で 22 と確かめられます。

分数の形の漸化式は一見扱いにくいですが、固定点(an+1a_{n+1} と ana_n が同じ値になる点)を引くと分子が an−λa_n-\lambda の倍数になり、等比や等差の形にそろいます。次の定理はその整理です。

定理 4.1(分数型漸化式)✓

p,q,r,sp,q,r,s を複素数とし、r≠0r\ne0、ps−qr≠0ps-qr\ne0 とする。数列 (an)(a_n) が an+1=pan+qran+sa_{n+1}=\dfrac{pa_n+q}{ra_n+s}(すべての項で分母が 00 でない)を満たすとし、λ\lambda を固定点(λ=pλ+qrλ+s\lambda=\tfrac{p\lambda+q}{r\lambda+s}、すなわち rλ2+(s−p)λ−q=0r\lambda^2+(s-p)\lambda-q=0 の解)とする。

  1. 異なる 2 つの固定点 λ1,λ2\lambda_1,\lambda_2 があるとき、κ=p−rλ1p−rλ2\kappa=\dfrac{p-r\lambda_1}{p-r\lambda_2} とすると、an−λ1an−λ2=κn a0−λ1a0−λ2\dfrac{a_{n}-\lambda_1}{a_{n}-\lambda_2}=\kappa^{n}\,\dfrac{a_0-\lambda_1}{a_0-\lambda_2}(an≠λ2a_n\ne\lambda_2)。
  2. 固定点が重解 λ\lambda のとき、1an+1−λ=1an−λ+rp−rλ\dfrac1{a_{n+1}-\lambda}=\dfrac1{a_n-\lambda}+\dfrac{r}{p-r\lambda}(an≠λa_n\ne\lambda)。すなわち 1an−λ\dfrac1{a_n-\lambda} は等差数列である。
証明(定理 4.1)

λ\lambda が固定点なら q−sλ=rλ2−pλ=−λ(p−rλ)q-s\lambda=r\lambda^2-p\lambda=-\lambda(p-r\lambda) で、

an+1−λ=(p−rλ)an+q−sλran+s=(p−rλ)(an−λ)ran+s.(∗)a_{n+1}-\lambda=\frac{(p-r\lambda)a_n+q-s\lambda}{ra_n+s}=\frac{(p-r\lambda)(a_n-\lambda)}{ra_n+s}.\tag{$*$}

また p−rλ≠0p-r\lambda\ne0 です。p−rλ=0p-r\lambda=0 なら q−sλ=0q-s\lambda=0 で、p=rλp=r\lambda、q=sλq=s\lambda から ps−qr=rλs−sλr=0ps-qr=r\lambda s-s\lambda r=0 となり仮定に反します。

(1) (∗)(*) を λ1,λ2\lambda_1,\lambda_2 について作って割ると、an+1−λ1an+1−λ2=κan−λ1an−λ2\dfrac{a_{n+1}-\lambda_1}{a_{n+1}-\lambda_2}=\kappa\dfrac{a_n-\lambda_1}{a_n-\lambda_2} で、等比数列の公式(帰納法)から主張を得ます。 (2) (∗)(*) の逆数をとると 1an+1−λ=ran+s(p−rλ)(an−λ)=r(an−λ)+(rλ+s)(p−rλ)(an−λ)=rp−rλ+rλ+sp−rλ⋅1an−λ\dfrac1{a_{n+1}-\lambda}=\dfrac{ra_n+s}{(p-r\lambda)(a_n-\lambda)}=\dfrac{r(a_n-\lambda)+(r\lambda+s)}{(p-r\lambda)(a_n-\lambda)}=\dfrac r{p-r\lambda}+\dfrac{r\lambda+s}{p-r\lambda}\cdot\dfrac1{a_n-\lambda}。重解は λ=p−s2r\lambda=\tfrac{p-s}{2r}(判別式 (s−p)2+4qr=0(s-p)^2+4qr=0)なので rλ+s=p+s2=p−rλr\lambda+s=\tfrac{p+s}2=p-r\lambda で、第 2 項の係数は 11 です。

例 4.2(分数型漸化式の例)

a0=0a_0=0、an+1=2an+1an+2a_{n+1}=\dfrac{2a_n+1}{a_n+2}。固定点は λ2+(2−2)λ−1=0\lambda^2+(2-2)\lambda-1=0 から λ=±1\lambda=\pm1。κ=p−rλ1p−rλ2=2−12+1=13\kappa=\dfrac{p-r\lambda_1}{p-r\lambda_2}=\dfrac{2-1}{2+1}=\dfrac13(λ1=1\lambda_1=1、λ2=−1\lambda_2=-1、r=1r=1、p=2p=2)。an−1an+1=13n⋅0−10+1=−13n\dfrac{a_n-1}{a_n+1}=\dfrac1{3^n}\cdot\dfrac{0-1}{0+1}=-\dfrac1{3^n} から an=3n−13n+1a_n=\dfrac{3^n-1}{3^n+1}。a1=12a_1=\tfrac12 と確かめられます。

定理 5.1(Fibonacci 数の最大公約数)✓

F0=0F_0=0、F1=1F_1=1、Fn+2=Fn+1+FnF_{n+2}=F_{n+1}+F_n とする。正の整数 m,nm,n について

gcd⁡(Fm,Fn)=Fgcd⁡(m,n).\gcd(F_m,F_n)=F_{\gcd(m,n)}.

証明の方針です。加法公式で gcd⁡(Fa,Fb)=gcd⁡(Fa−b,Fb)\gcd(F_a,F_b)=\gcd(F_{a-b},F_b) を示し、添え字に互除法と同じ引き算を繰り返すと、最後に Fgcd⁡(m,n)F_{\gcd(m,n)} が残ります。(c) の整除の議論が核心で、隣り合う項が互いに素であること (b) を使います。

証明(定理 5.1)

(a) 加法公式。 M=(1110)M=\begin{pmatrix}1&1\\1&0\end{pmatrix} について Mm+n=MmMnM^{m+n}=M^mM^n の (1,2)(1,2) 成分を 命題 3.2 の形で書くと、m,n≥1m,n\ge1 で Fm+n=Fm+1Fn+FmFn−1F_{m+n}=F_{m+1}F_n+F_mF_{n-1}。

(b) 隣り合う項は互いに素。 gcd⁡(Fn+1,Fn)=1\gcd(F_{n+1},F_n)=1 を nn に関する帰納法で示します。gcd⁡(F1,F0)=gcd⁡(1,0)=1\gcd(F_1,F_0)=\gcd(1,0)=1。gcd⁡(Fn+2,Fn+1)=gcd⁡(Fn+1+Fn,Fn+1)=gcd⁡(Fn,Fn+1)=1\gcd(F_{n+2},F_{n+1})=\gcd(F_{n+1}+F_n,F_{n+1})=\gcd(F_n,F_{n+1})=1(x+yx+y と xx の公約数は xx と yy の公約数と同じ)。

(c) 差への還元。 a>b≥1a>b\ge1 とし、c=a−bc=a-b とおく。(a) で m=cm=c、n=bn=b とすると Fa=Fc+1Fb+FcFb−1F_a=F_{c+1}F_b+F_cF_{b-1} なので、d=gcd⁡(Fa,Fb)d=\gcd(F_a,F_b) は FcFb−1F_cF_{b-1} と FbF_b の最大公約数 gcd⁡(FcFb−1,Fb)\gcd(F_cF_{b-1},F_b) に等しい(Fc+1FbF_{c+1}F_b は FbF_b の倍数)。この dd は FbF_b の約数で、(b) により Fb−1F_{b-1} と互いに素。d∣Fb−1Fcd\mid F_{b-1}F_c なので、ユークリッドの補題(一般形、ユークリッドの補題(一般形)(補題 2.2)[整除と素因数分解])により d∣Fcd\mid F_c。よって d∣gcd⁡(Fc,Fb)d\mid\gcd(F_c,F_b)。逆に gcd⁡(Fc,Fb)\gcd(F_c,F_b) は FcFb−1F_cF_{b-1} と FbF_b の公約数なので dd を割る。ゆえに gcd⁡(Fa,Fb)=gcd⁡(Fa−b,Fb)\gcd(F_a,F_b)=\gcd(F_{a-b},F_b)。

(d) 帰納法。 m+nm+n に関する強い帰納法(完全帰納法(定理 4.3)[証明の技術])。m=nm=n なら両辺 FmF_m。m>nm>n なら (c) と帰納法の仮定より gcd⁡(Fm,Fn)=gcd⁡(Fm−n,Fn)=Fgcd⁡(m−n,n)=Fgcd⁡(m,n)\gcd(F_m,F_n)=\gcd(F_{m-n},F_n)=F_{\gcd(m-n,n)}=F_{\gcd(m,n)}(m−nm-n と nn の公約数の集合は mm と nn の公約数の集合に等しい。互除法の原理、互除法の正しさ(定理 3.2)[整除と素因数分解])。m<nm<n も同じです。

たとえば gcd⁡(F12,F18)=F6=8\gcd(F_{12},F_{18})=F_6=8(F12=144F_{12}=144、F18=2584F_{18}=2584、どちらも 88 の倍数で、144/8=18144/8=18 と 2584/8=3232584/8=323 は互いに素)。

定義 6.1(母関数)↗

数列 (an)n≥0(a_n)_{n\ge0} に対し、形式的冪級数 G(x)=∑n≥0anxnG(x)=\sum_{n\ge0}a_nx^n(形式的冪級数環(定義 2.1)[数え上げと母関数])を (an)(a_n) の母関数という。

形式的冪級数では、xx に数を代入することはまだ許されていません。代入には収束が必要です。次の定理は、漸化式を満たす数列について、母関数の具体形と代入できる範囲を与えます。

形式的冪級数は係数の列にすぎないので、xx に数を入れて値を求めることはできません。実際に数を入れてよいのは、級数が収束するときだけです。次の定理の (2) は、数列の項の大きさを等比数列で押さえて、収束する範囲を具体的に決めます。

定理 6.2(線形漸化式の母関数と代入)✓

p,q,a0,a1p,q,a_0,a_1 を実数とし、(an)n≥0(a_n)_{n\ge0} が an+2=pan+1+qana_{n+2}=pa_{n+1}+qa_n を満たすとする。Q(x)=1−px−qx2Q(x)=1-px-qx^2 とする。

  1. 形式的冪級数環で Q(x) G(x)=a0+(a1−pa0)xQ(x)\,G(x)=a_0+(a_1-pa_0)x。QQ は定数項が 11 なので逆元をもち(逆元の存在(命題 2.2)[数え上げと母関数])、G(x)=a0+(a1−pa0)xQ(x)G(x)=\dfrac{a_0+(a_1-pa_0)x}{Q(x)}。
  2. ρ=∣p∣+∣q∣+1\rho=|p|+|q|+1 とする。実数 xx が ∣x∣<1/ρ|x|<1/\rho を満たすなら、級数 ∑n≥0anxn\sum_{n\ge0}a_nx^n は収束し、その和は a0+(a1−pa0)x1−px−qx2\dfrac{a_0+(a_1-pa_0)x}{1-px-qx^2}(分母は 00 でない)に等しい。
証明(定理 6.2)

(1) Q(x)G(x)Q(x)G(x) の xnx^n の係数は、n≥2n\ge2 で an−pan−1−qan−2=0a_n-pa_{n-1}-qa_{n-2}=0、n=0n=0 で a0a_0、n=1n=1 で a1−pa0a_1-pa_0 です。

(2) まず ∣an∣≤Cρn|a_n|\le C\rho^n(C=max⁡(∣a0∣,∣a1∣/ρ)C=\max(|a_0|,|a_1|/\rho))を帰納法で示します。n=0,1n=0,1 は定義どおり。n→n+2n\to n+2:∣an+2∣≤∣p∣Cρn+1+∣q∣Cρn=Cρn(∣p∣ρ+∣q∣)|a_{n+2}|\le|p|C\rho^{n+1}+|q|C\rho^n=C\rho^n(|p|\rho+|q|) で、ρ2−∣p∣ρ−∣q∣=ρ(ρ−∣p∣)−∣q∣≥ρ−∣q∣≥1>0\rho^2-|p|\rho-|q|=\rho(\rho-|p|)-|q|\ge\rho-|q|\ge1>0(ρ−∣p∣=∣q∣+1≥1\rho-|p|=|q|+1\ge1)なので ∣p∣ρ+∣q∣≤ρ2|p|\rho+|q|\le\rho^2。したがって ∣anxn∣≤C(ρ∣x∣)n|a_n x^n|\le C(\rho|x|)^n で、ρ∣x∣<1\rho|x|<1 なので等比級数(等比級数(命題 6.2)[数とは何か])との比較判定法(比較判定法(定理 4.2)[級数と収束判定])により ∑∣anxn∣\sum|a_nx^n| は収束し、絶対収束すれば収束します(絶対収束すれば収束する(定理 7.2)[級数と収束判定])。G(x)=∑anxnG(x)=\sum a_nx^n とおきます。

SN=∑n=0NanxnS_N=\sum_{n=0}^Na_nx^n に Q(x)Q(x) をかけて項を整理すると(2≤m≤N2\le m\le N の係数は am−pam−1−qam−2=0a_m-pa_{m-1}-qa_{m-2}=0)

Q(x)SN=a0+(a1−pa0)x−(paN+qaN−1)xN+1−qaNxN+2.Q(x)S_N=a_0+(a_1-pa_0)x-(pa_N+qa_{N-1})x^{N+1}-qa_Nx^{N+2}.

N→∞N\to\infty で、∣aNxN∣≤C(ρ∣x∣)N→0|a_Nx^N|\le C(\rho|x|)^N\to0 なので、最後の 2 項は 00 に収束し、SN→G(x)S_N\to G(x) なので Q(x)G(x)=a0+(a1−pa0)xQ(x)G(x)=a_0+(a_1-pa_0)x です。∣px+qx2∣≤∣p∣∣x∣+∣q∣∣x∣2<∣p∣+∣q∣ρ<1|px+qx^2|\le|p||x|+|q||x|^2<\tfrac{|p|+|q|}\rho<1(∣x∣<1/ρ<1|x|<1/\rho<1)なので ∣Q(x)∣≥1−∣px+qx2∣>0|Q(x)|\ge1-|px+qx^2|>0。割れば主張を得ます。

例 6.3(Fibonacci 数の母関数)

a0=0a_0=0、a1=1a_1=1、p=q=1p=q=1 で G(x)=x1−x−x2G(x)=\dfrac{x}{1-x-x^2}。1−x−x2=(1−ϕx)(1−ψx)1-x-x^2=(1-\phi x)(1-\psi x)(ϕ+ψ=1\phi+\psi=1、ϕψ=−1\phi\psi=-1)なので部分分数分解 x1−x−x2=15(11−ϕx−11−ψx)\dfrac{x}{1-x-x^2}=\dfrac1{\sqrt5}\Bigl(\dfrac1{1-\phi x}-\dfrac1{1-\psi x}\Bigr) から、xnx^n の係数は ϕn−ψn5=Fn\tfrac{\phi^n-\psi^n}{\sqrt5}=F_n(Binet の公式を別の道で得た)。代入の例:∣x∣<13|x|<\tfrac13 に含まれる x=110x=\tfrac1{10} で ∑n≥0Fn10n=0.11−0.1−0.01=1089≈0.11236\sum_{n\ge0}\dfrac{F_n}{10^n}=\dfrac{0.1}{1-0.1-0.01}=\dfrac{10}{89}\approx0.11236。実際 0.1+0.01+0.002+0.0003+0.00005+0.000008+⋯0.1+0.01+0.002+0.0003+0.00005+0.000008+\cdots です。

7. 分割数の母関数:Euler の分割恒等式

Section titled “7. 分割数の母関数:Euler の分割恒等式”

正の整数 nn の分割とは、和が nn となる正の整数の(順序を区別しない)組のことです。n=0n=0 の分割は空の組 1 個とします。nn の分割のうち、すべての部分が奇数のものの個数を podd(n)p_{\mathrm{odd}}(n)、すべての部分が相異なるものの個数を pdist(n)p_{\mathrm{dist}}(n) とします。たとえば n=6n=6 の相異なる部分への分割は 6, 5+1, 4+2, 3+2+16,\ 5+1,\ 4+2,\ 3+2+1 の 4 個、奇数の部分への分割は 5+1, 3+3, 3+1+1+1, 1+1+1+1+1+15+1,\ 3+3,\ 3+1+1+1,\ 1+1+1+1+1+1 の 4 個で一致します。

定理 7.1(Euler の分割恒等式)✓

すべての整数 n≥0n\ge0 について podd(n)=pdist(n)p_{\mathrm{odd}}(n)=p_{\mathrm{dist}}(n)。

証明の方針です。両辺の母関数を、積の形でそれぞれ書きます。「xN+1x^{N+1} を法とする」とは、xN+1x^{N+1} 以上の項を無視して、xNx^N までの係数だけを比べる、という意味です。比べたい xnx^n(n≤Nn\le N)の係数はこれで失われません。

証明(定理 7.1)

N≥nN\ge n を固定し、形式的冪級数環(形式的冪級数環(定義 2.1)[数え上げと母関数])で xN+1x^{N+1} を法とする合同式(係数が xNx^{N} まで一致する)を考えます。1−xk1-x^k は定数項が 11 なので逆元 ∑m≥0xkm\sum_{m\ge0}x^{km} をもちます(逆元の存在(命題 2.2)[数え上げと母関数])。

(a) ∏k=1N(1+xk)=∑S⊆{1,…,N}x∑S\prod_{k=1}^N(1+x^k)=\sum_{S\subseteq\{1,\dots,N\}}x^{\sum S} の xnx^n の係数は、和が nn の部分集合の個数、すなわち相異なる部分への分割の数で、n≤Nn\le N なので pdist(n)p_{\mathrm{dist}}(n)。

(b) ∏k≤N, k 奇数11−xk=∑(mk)x∑kmk\prod_{k\le N,\ k\text{ 奇数}}\dfrac1{1-x^k}=\sum_{(m_k)}x^{\sum km_k} の xnx^n の係数は、∑kmk=n\sum km_k=n となる非負整数の組 (mk)(m_k)(奇数 kk をちょうど mkm_k 回使う)の個数で、podd(n)p_{\mathrm{odd}}(n)(n≤Nn\le N なので奇数の部分は NN 以下)。

(c) (1+xk)(1−xk)=1−x2k(1+x^k)(1-x^k)=1-x^{2k} なので、∏k=1N(1+xk)=∏k=1N1−x2k1−xk\prod_{k=1}^N(1+x^k)=\prod_{k=1}^N\dfrac{1-x^{2k}}{1-x^k}。分母のうち kk 偶数の部分 ∏j≤N/2(1−x2j)\prod_{j\le N/2}(1-x^{2j}) は分子 ∏k≤N(1−x2k)\prod_{k\le N}(1-x^{2k}) の一部と打ち消しあい、

∏k=1N(1+xk)=∏N/2<j≤N(1−x2j)∏k≤N, k 奇数(1−xk).\prod_{k=1}^N(1+x^k)=\frac{\prod_{N/2<j\le N}(1-x^{2j})}{\prod_{k\le N,\ k\text{ 奇数}}(1-x^k)}.

分子の各因子で 2j≥N+12j\ge N+1 なので 1−x2j≡1(modxN+1)1-x^{2j}\equiv1\pmod{x^{N+1}}。したがって ∏k=1N(1+xk)≡∏k 奇数≤N11−xk(modxN+1)\prod_{k=1}^N(1+x^k)\equiv\prod_{k\text{ 奇数}\le N}\dfrac1{1-x^k}\pmod{x^{N+1}}。

(a)(b)(c) から、xnx^n(n≤Nn\le N)の係数を比べて pdist(n)=podd(n)p_{\mathrm{dist}}(n)=p_{\mathrm{odd}}(n) です。

注意 7.2(五角数)

k(3k−1)/2k(3k-1)/2(k=1,2,3,4,…k=1,2,3,4,\dots)の形の数 1,5,12,22,…1,5,12,22,\dots を五角数といいます(kk 個の点を一辺にもつ正五角形状に並べた点の個数)。無限積 ∏k≥1(1−xk)\prod_{k\ge1}(1-x^k) を展開すると、係数が ±1\pm1 と 00 だけで、±1\pm1 が現れる指数がちょうど(一般化された)五角数になる、という Euler の五角数定理があります。分割数の漸化式を導くのに使われます。この記事の他の議論は、この定理を使いません。興味のある読者は、G. E. Andrews, The Theory of Partitions, Cambridge University Press, 1976 の第 1 章を読んでください。

漸化式の特性方程式は、常微分方程式(ode)の定数係数線形方程式の離散版で、αn\alpha^n が eαte^{\alpha t} に、重解の nαnn\alpha^n が teαtte^{\alpha t} に対応します。解空間が 2 次元であることは、線形代数(linear-algebra)の次元の議論の最初の例です。行列の冪 MnM^n の剰余による計算は、MM の最小多項式・Cayley–Hamilton の定理(algebra)の応用で、対角化できない場合は Jordan 標準形に至ります。母関数は組合せ論(combinatorics)で数え上げの道具として一般化され、xx に数を代入できる範囲は複素解析の収束半径の理論になります。Euler の分割恒等式は、qq-級数と分割理論の出発点です。

演習 9.1易

a0=1a_0=1、an+1=3an−4a_{n+1}=3a_n-4 の一般項を求めよ。

解答

p=3p=3、q=−4q=-4、固定点 c=−41−3=2c=\tfrac{-4}{1-3}=2。定理 2.1 により an=3n(1−2)+2=2−3na_n=3^n(1-2)+2=2-3^n。a1=3−4=−1=2−3a_1=3-4=-1=2-3 で一致します。

演習 9.2標準

a0=1a_0=1、a1=3a_1=3、an+2=5an+1−6ana_{n+2}=5a_{n+1}-6a_n の一般項を求めよ。

解答

特性方程式 x2−5x+6=0x^2-5x+6=0 の解は 2,32,3。定理 2.2 により an=A2n+B3na_n=A2^n+B3^n、A+B=1A+B=1、2A+3B=32A+3B=3 より B=1B=1、A=0A=0。よって an=3na_n=3^n。a2=15−6=9a_2=15-6=9 で一致。

演習 9.3標準

M=(3−111)M=\begin{pmatrix}3&-1\\1&1\end{pmatrix} の nn 乗 MnM^n を求めよ。

解答

t=4t=4、d=4d=4、χ=(x−2)2\chi=(x-2)^2(重解 α=2\alpha=2)。定理 3.1 と 例 3.3 の計算と同様に、un=n2n−1u_n=n2^{n-1}、vn=−4un−1=−(n−1)2nv_n=-4u_{n-1}=-(n-1)2^n。Mn=unM+vnI=2n−1(n+2−nn2−n)M^n=u_nM+v_nI=2^{n-1}\begin{pmatrix}n+2&-n\\n&2-n\end{pmatrix}。n=2n=2 で (8−440)\begin{pmatrix}8&-4\\4&0\end{pmatrix} となり、M2M^2 の直接計算と一致します。

演習 9.4易

n=7n=7 について、相異なる部分への分割と奇数の部分への分割をすべて書き出し、定理 7.1 を確かめよ。

解答

相異なる部分:7, 6+1, 5+2, 4+3, 4+2+17,\ 6+1,\ 5+2,\ 4+3,\ 4+2+1 の 5 個。奇数の部分:7, 5+1+1, 3+3+1, 3+1+1+1+1, 1+1+1+1+1+1+17,\ 5+1+1,\ 3+3+1,\ 3+1+1+1+1,\ 1+1+1+1+1+1+1 の 5 個。一致します。

  • Ronald L. Graham, Donald E. Knuth, Oren Patashnik, Concrete Mathematics, 2nd ed., Addison-Wesley, 1994 — Chapter 1・2(漸化式と和)、Chapter 7(母関数)。
  • Herbert S. Wilf, generatingfunctionology, 3rd ed., A K Peters, 2006 — Chapter 1。
  • George E. Andrews, The Theory of Partitions, Cambridge University Press, 1976 — Chapter 1。
  • 杉浦光夫『解析入門 I』東京大学出版会、1980 — 級数に関する節。

このテーマの 100 本ノック(100 問)

執筆: Claude Code(Sonnet 5.5)・監査 2 回(Claude Code)・最終 2026-10-12

この記事の誤りを報告する ・運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記

© 2026 夢現技研合同会社 ・コード例は MIT ライセンスです。