§D2.4漸化式と母関数

最終更新

漸化式は数列を局所的な関係と初期条件で定め、母関数はその数列を一つの形式的冪級数に束ねる道具です。 本記事では、定数係数の斉次線形漸化式に対して特性方程式・行列反復・母関数という三通りの解法を与え、いずれも一般項の閉形式を同じ形(特性根の冪に多項式を掛けた和)で復元することを示します。

本記事を通じて、数列(an)n≥0(a_n)_{n\ge 0}の値と係数はすべてC\Cに属するものとします。C\Cが代数閉体であること、すなわち複素係数多項式が重複度込みで根に分解することを証明せずに認め、特性多項式と母関数の分母の因数分解に用います。

注意 1. 代数学の基本定理の主張は「数と式の計算」が与えます。「位相空間論 I」は、多項式の絶対値が有界閉集合の上で最小値をとることから証明します(§E2.9 定理 6.3)。「複素解析」は、リウヴィルの定理と偏角の原理から同じ結論を再導出します(§E5.9 系 4.2、§E5.14 系 4.3)。

1 漸化式と線形漸化式

定義 1.1 (漸化式・定数係数線形漸化式・初期条件). 数列(an)n≥0(a_n)_{n\ge 0}に対する漸化式とは、各nnにおけるana_nを先行する項a0,…,an−1a_0,\dots,a_{n-1}の値で定める関係式です。

とくに、定数c1,…,ck∈Cc_1,\dots,c_k \in \C(ck≠0c_k \neq 0)とn≥kn \ge kに対して

an=c1an−1+c2an−2+⋯+ckan−ka_n = c_1 a_{n-1} + c_2 a_{n-2} + \cdots + c_k a_{n-k}

の形をもつものを、kk階の定数係数斉次線形漸化式といいます。この関係がana_nを一意に定めるためには、最初のkk項a0,a1,…,ak−1a_0, a_1, \dots, a_{k-1}の値を与える必要があり、これらの値を初期条件といいます。ck≠0c_k \neq 0という条件は、階数がちょうどkkであること、すなわちan−ka_{n-k}の項が右辺に実際に現れることを保証します。

多項式

χ(x)=xk−c1xk−1−c2xk−2−⋯−ck\chi(x) = x^k - c_1 x^{k-1} - c_2 x^{k-2} - \cdots - c_k

をこの漸化式の特性多項式、方程式χ(x)=0\chi(x)=0を特性方程式とよびます。

初期条件a0,…,ak−1a_0,\dots,a_{k-1}を固定すると、漸化式はak,ak+1,…a_k, a_{k+1},\dotsを順に一意に決定します。この事実を次の補題として述べます。

補題 1.2 (初期値による決定).kk階の定数係数斉次線形漸化式の解(an)n≥0(a_n)_{n\ge 0}は、初期条件(a0,…,ak−1)∈Ck(a_0,\dots,a_{k-1})\in\C^kによって一意に定まります。逆に、任意の(a0,…,ak−1)∈Ck(a_0,\dots,a_{k-1})\in\C^kを初期値とする解がちょうど一つ存在します。

証明. 存在は、n≥kn \ge kについてan:=c1an−1+⋯+ckan−ka_n := c_1 a_{n-1}+\cdots+c_k a_{n-k}と再帰的に定義することで得られます。一意性を示すために、初期値を共有する二つの解を(an),(an′)(a_n),(a_n')とします。0≤n≤k−10\le n\le k-1では初期条件からan=an′a_n=a_n'です。n≥kn\ge kとし、0≤j<n0\le j<nを満たすすべてのjjについてaj=aj′a_j=a_j'と仮定すると、

an=c1an−1+⋯+ckan−k=c1an−1′+⋯+ckan−k′=an′a_n=c_1a_{n-1}+\cdots+c_ka_{n-k} =c_1a_{n-1}'+\cdots+c_ka_{n-k}'=a_n'

です。したがって、nnに関する強い帰納法により、すべてのn≥0n\ge0についてan=an′a_n=a_n'です(§A3.10 定理 3.1)。▨

2 特性方程式による解法

補題 2.1 (因数分解された差分作用素の核).r1,…,rs∈Cr_1,\dots,r_s\in\Cを相異なる非零の数、m1,…,msm_1,\dots,m_sを正の整数とします。数列a=(an)n≥0a=(a_n)_{n\ge 0}に対して

(Dra)n:=an+1−ran(D_r a)_n:=a_{n+1}-r a_n

と定めます。このとき

Dr1m1⋯Drsmsa=0D_{r_1}^{m_1}\cdots D_{r_s}^{m_s}a=0

であることと、零多項式または次数がmim_i未満の多項式pip_iを用いて

an=∑i=1spi(n)ri n(n≥0)a_n=\sum_{i=1}^{s}p_i(n)r_i^{\,n}\qquad(n\ge 0)

と表されることは同値です。さらに、この表示の多項式p1,…,psp_1,\dots,p_sは一意です。

証明.EEを(Ea)n=an+1(Ea)_n=a_{n+1}、IIを恒等作用素とするとDr=E−rID_r=E-rIです。したがって各DrD_rは互いに可換です。

まず根が一つの場合を示します。Drma=0D_r^m a=0とし、bn=r−nanb_n=r^{-n}a_nとおきます。直接計算すると

(Dra)n=rn+1(bn+1−bn)(D_r a)_n=r^{n+1}(b_{n+1}-b_n)

であり、前進差分を(Δb)n=bn+1−bn(\Delta b)_n=b_{n+1}-b_nと書けば、帰納的に

(Drma)n=rn+m(Δmb)n(D_r^m a)_n=r^{n+m}(\Delta^m b)_n

を得ます。よってDrma=0D_r^m a=0とΔmb=0\Delta^m b=0は同値です。

Δmb=0\Delta^m b=0ならば、bnb_nはnnの次数がmm未満の多項式です。このことをmmに関する帰納法で確かめます。m=1m=1ではΔb=0\Delta b=0なのでbn=b0b_n=b_0です。m>1m>1ではd=Δbd=\Delta bがΔm−1d=0\Delta^{m-1}d=0を満たすため、帰納法の仮定により一意な係数c1,…,cm−1c_1,\dots,c_{m-1}を用いて

dn=∑j=0m−2cj+1(nj)d_n=\sum_{j=0}^{m-2}c_{j+1}\binom{n}{j}

と書けます。c0=b0c_0=b_0とおき、∑t=0n−1(tj)=(nj+1)\sum_{t=0}^{n-1}\binom{t}{j}=\binom{n}{j+1}を用いると

bn=b0+∑t=0n−1dt=∑j=0m−1cj(nj)b_n=b_0+\sum_{t=0}^{n-1}d_t =\sum_{j=0}^{m-1}c_j\binom{n}{j}

となります。この表示はc0=b0c_0=b_0とd=Δbd=\Delta bの表示の一意性から一意です。逆に、次数がmm未満の多項式へΔ\Deltaをmm回作用させると零になるので、根が一つの場合の同値性と一意性が従います。

次に根の個数ssに関する帰納法で一般の場合を示します。s=1s=1は既に示しました。s>1s>1とし、

ψ(x)=∏i=2s(x−ri)mi,Ψ=ψ(E)\psi(x)=\prod_{i=2}^{s}(x-r_i)^{m_i},\qquad \Psi=\psi(E)

とおきます。仮定からDr1m1(Ψa)=0D_{r_1}^{m_1}(\Psi a)=0なので、根が一つの場合の結果により、次数がm1m_1未満の多項式qqが存在して

(Ψa)n=q(n)r1 n(\Psi a)_n=q(n)r_1^{\,n}

となります。

ここで、次数がm1m_1未満の任意の多項式qqに対し、同じ次数制限を満たす多項式ppがただ一つ存在して

Ψ(p(n)r1 n)=q(n)r1 n\Psi\bigl(p(n)r_1^{\,n}\bigr)=q(n)r_1^{\,n}

となることを示します。ψ(x)=∑tγtxt\psi(x)=\sum_t\gamma_t x^tと書けば、左辺からr1nr_1^nを除いた多項式は

∑tγtr1tp(n+t)\sum_t\gamma_t r_1^t p(n+t)

です。ppの次数をdd、最高次係数をA≠0A\ne0とすると、この多項式の最高次係数は

A∑tγtr1t=Aψ(r1)A\sum_t\gamma_t r_1^t=A\psi(r_1)

です。根が相異なるためψ(r1)=∏i=2s(r1−ri)mi≠0\psi(r_1)=\prod_{i=2}^{s}(r_1-r_i)^{m_i}\ne0です。q=0q=0ならp=0p=0とします。q≠0q\ne0なら、qqの最高次項に合わせてppの最高次項を一意に定め、差の次数を一つずつ下げる操作を繰り返せば、所要のppが存在します。また非零のppは最高次係数が消えない像をもつので、このppは一意です。

このppを用いるとΨ(a−p(n)r1n)=0\Psi(a-p(n)r_1^n)=0です。帰納法の仮定により、a−p(n)r1na-p(n)r_1^nはi=2,…,si=2,\dots,sに対応する多項式指数列の和として表されます。よって所要の表示が存在します。逆に、この形の各項pi(n)rinp_i(n)r_i^nはDrimiD_{r_i}^{m_i}で消えるため、作用素の可換性から積作用素で消えます。

最後に表示の一意性を示します。∑ipi(n)rin=0\sum_i p_i(n)r_i^n=0と仮定し、ii以外の根に対応する作用素の積∏ℓ≠iDrℓmℓ\prod_{\ell\ne i}D_{r_\ell}^{m_\ell}を作用させます。ℓ≠i\ell\ne iの成分はすべて消え、pi(n)rinp_i(n)r_i^nの像だけが残ります。上で示したψ(ri)≠0\psi(r_i)\ne0の場合の一意性によりpi=0p_i=0です。これは各iiで成り立つので、すべてのpip_iが零となり、表示は一意です。▨

定理 2.2 (相異なる特性根に対する一般解).定義 1.1のkk階漸化式の特性多項式χ\chiが相異なる根r1,…,rkr_1,\dots,r_kをもつとします。このとき任意の解(an)(a_n)は

an=A1r1 n+A2r2 n+⋯+Akrk na_n = A_1 r_1^{\,n} + A_2 r_2^{\,n} + \cdots + A_k r_k^{\,n}

の形にただ一通りに表され、係数A1,…,AkA_1,\dots,A_kは初期条件から一意に定まります。

証明.χ(0)=−ck≠0\chi(0)=-c_k\ne0なので、各根rir_iは非零です。漸化式の添字をn+kn+kと書き直すと、その左辺は

an+k−c1an+k−1−⋯−ckan=(χ(E)a)n=(Dr1⋯Drka)na_{n+k}-c_1a_{n+k-1}-\cdots-c_ka_n =\bigl(\chi(E)a\bigr)_n =\bigl(D_{r_1}\cdots D_{r_k}a\bigr)_n

です。したがって漸化式を満たすことはDr1⋯Drka=0D_{r_1}\cdots D_{r_k}a=0と同値です。補題 2.1をm1=⋯=mk=1m_1=\cdots=m_k=1として適用すると、各pip_iは定数AiA_iであり、表示の存在と一意性が従います。初期条件が同じ解は補題 1.2により一意なので、係数A1,…,AkA_1,\dots,A_kも初期条件から一意に定まります。▨

特性根が重複する場合には、幾何数列に多項式係数を掛けた項が現れます。

系 2.3 (重複根に対する基本解). 特性多項式がχ(x)=∏i=1s(x−ri)mi\chi(x) = \prod_{i=1}^{s}(x - r_i)^{m_i}(r1,…,rsr_1,\dots,r_sは相異なる根、重複度mi≥1m_i \ge 1、∑i=1smi=k\sum_{i=1}^{s} m_i = k)と分解するとします。このとき

(n j ri n)n≥0,0≤j≤mi−1\bigl(n^{\,j}\, r_i^{\,n}\bigr)_{n\ge0}, \qquad 0 \le j \le m_i - 1

はいずれも漸化式の解です。任意の解は

an=∑ipi(n) ri na_n = \sum_i p_i(n)\, r_i^{\,n}

の形にただ一通りに表されます。ここでpip_iは零多項式またはdeg⁡pi<mi\deg p_i<m_iの多項式です。

証明.χ(0)=−ck≠0\chi(0)=-c_k\ne0なので、各rir_iは非零です。相異なる根の場合と同じ計算により、漸化式を満たすことは

χ(E)a=Dr1m1⋯Drsmsa=0\chi(E)a=D_{r_1}^{m_1}\cdots D_{r_s}^{m_s}a=0

と同値です。補題 2.1から、任意の解について多項式pip_iを用いた表示が存在し、その表示は一意です。逆に各njrinn^j r_i^nは、pi(n)=njp_i(n)=n^j、他の多項式を零とした同 lemma の逆向きにより漸化式を満たします。▨

例 2.4 (フィボナッチ数列とビネの公式). フィボナッチ数列をF0=0, F1=1, Fn=Fn−1+Fn−2 (n≥2)F_0 = 0,\ F_1 = 1,\ F_n = F_{n-1} + F_{n-2}\ (n\ge 2)で定めます。これは22階の斉次線形漸化式であり、特性方程式は

x2=x+1,すなわちx2−x−1=0.x^2 = x + 1, \qquad \text{すなわち}\quad x^2 - x - 1 = 0.

です。根はφ=1+52, ψ=1−52\varphi = \dfrac{1+\sqrt5}{2},\ \psi = \dfrac{1-\sqrt5}{2}で相異なります。定理 2.2よりFn=Aφn+BψnF_n = A\varphi^n + B\psi^nと表すことができます。初期条件から

{A+B=F0=0,Aφ+Bψ=F1=1,\begin{cases} A + B = F_0 = 0,\\ A\varphi + B\psi = F_1 = 1, \end{cases}

を得ます。第一式よりB=−AB = -Aであり、第二式へ代入するとA(φ−ψ)=1A(\varphi - \psi) = 1です。φ−ψ=5\varphi - \psi = \sqrt5なのでA=15, B=−15A = \dfrac{1}{\sqrt5},\ B = -\dfrac{1}{\sqrt5}です。したがって、ビネの公式

Fn=φ n−ψ n5F_n = \frac{\varphi^{\,n} - \psi^{\,n}}{\sqrt5}

を得ます。

φn=Ln+Fn52\varphi^n = \dfrac{L_n + F_n\sqrt5}{2}(LnL_nはリュカ数)を用いるとφn−ψn=Fn5\varphi^n - \psi^n = F_n\sqrt5となり、ビネの公式と整合します。これとは独立に、数値による検算も行います。φ5=11+552, ψ5=11−552\varphi^5 = \dfrac{11 + 5\sqrt5}{2},\ \psi^5 = \dfrac{11 - 5\sqrt5}{2}なので

φ5−ψ55=555=5.\frac{\varphi^5 - \psi^5}{\sqrt5} = \frac{5\sqrt5}{\sqrt5} = 5.

です。漸化式から直接得られる値はF0,…,F5=0,1,1,2,3,5F_0,\dots,F_5 = 0,1,1,2,3,5なので、F5=5F_5 = 5と一致します。n=10n=10でもφ10−ψ10=555\varphi^{10}-\psi^{10} = 55\sqrt5より公式は5555を与え、漸化式のF10=55F_{10}=55に一致します。

3 行列反復としての線形漸化式

命題 3.1 (状態ベクトルによる行列表現).定義 1.1のkk階漸化式に対し、状態ベクトルvn=(an,an−1,…,an−k+1)Tv_n = (a_n, a_{n-1}, \dots, a_{n-k+1})^{\mathsf T}(n≥k−1n\ge k-1)を定めます。k×kk\times kのコンパニオン行列

C=(c1c2⋯ck−1ck10⋯0001⋯00⋮⋱⋮00⋯10)C = \begin{pmatrix} c_1 & c_2 & \cdots & c_{k-1} & c_k \\ 1 & 0 & \cdots & 0 & 0 \\ 0 & 1 & \cdots & 0 & 0 \\ \vdots & & \ddots & & \vdots \\ 0 & 0 & \cdots & 1 & 0 \end{pmatrix}

によりvn=C vn−1v_n = C\, v_{n-1}、したがってvn=C n−k+1vk−1v_n = C^{\,n-k+1} v_{k-1}が成り立ちます。CCの特性多項式はχ\chiに一致し、その固有値は漸化式の特性根です。特性根が相異なるときCCは対角化可能であり、Cn=PDnP−1C^n = P D^n P^{-1}の成分はri nr_i^{\,n}の一次結合となるため、定理 2.2を再現します。

証明.vn=Cvn−1v_n = C v_{n-1}を成分ごとに確かめます。積Cvn−1C v_{n-1}の第11成分はc1an−1+c2an−2+⋯+ckan−kc_1 a_{n-1} + c_2 a_{n-2} + \cdots + c_k a_{n-k}であり、漸化式によってana_nに等しくなります。第jj成分(2≤j≤k2\le j\le k)は、CCの第jj行が第(j−1)(j-1)列にのみ11をもつことからan−(j−1)a_{n-(j-1)}に等しく、vnv_nの第jj成分に一致します。したがってvn=Cvn−1v_n = C v_{n-1}であり、反復するとvn=C n−k+1vk−1v_n = C^{\,n-k+1}v_{k-1}を得ます。

CCの特性多項式がχ\chiに一致することは、コンパニオン行列に関する線形代数の標準事実です。第11行に沿った余因子展開と階数kkに関する帰納法で示すことができます。k=2k=2の場合には

det⁡(xI−C)=det⁡(x−c1−c2−1x)=x(x−c1)−c2=x2−c1x−c2=χ(x),\det(xI - C) = \det\begin{pmatrix} x - c_1 & -c_2 \\ -1 & x \end{pmatrix} = x(x-c_1) - c_2 = x^2 - c_1 x - c_2 = \chi(x),

となるため、確かに一致します。したがってCCの固有値(§D3.12 定義 1.1)はχ(x)=0\chi(x)=0の根、すなわち特性根です。

特性根が相異なるとき、CCは相異なるkk個の固有値をもつので対角化可能であり、C=PDP−1C = PDP^{-1}(D=diag⁡(r1,…,rk)D = \operatorname{diag}(r_1,\dots,r_k))と書くことができます。このとき対角化による冪計算(§D3.13 例 2.1)によりCn=PDnP−1C^n = P D^n P^{-1}であり、その(1,ℓ)(1,\ell)成分は∑i(P)1i(P−1)iℓrin\sum_i (P)_{1i}(P^{-1})_{i\ell} r_i^nの形でrinr_i^nの一次結合です。ana_nはvn=C n−k+1vk−1v_n = C^{\,n-k+1}v_{k-1}の第11成分なので、an=∑iAirina_n = \sum_i A_i r_i^nの形を得て、定理 2.2と一致します。▨

フィボナッチ数列の場合にはC=(1110)C = \begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}であり、Cn=(Fn+1FnFnFn−1)C^n = \begin{pmatrix} F_{n+1} & F_n \\ F_n & F_{n-1}\end{pmatrix}となります。固有値はφ,ψ\varphi,\psiであり、例 2.4のビネの公式はこの対角化の第11行に対応します。

4 母関数

定義 4.1 (通常型母関数). 数列(an)n≥0(a_n)_{n\ge 0}の通常型母関数(ordinary generating function, OGF)とは、形式的冪級数

A(x)=∑n≥0anxn∈C[[x]]A(x) = \sum_{n\ge 0} a_n x^n \in \C[[x]]

です。ここでxxは不定元であり、級数の収束は問いません。二つの形式的冪級数は係数がすべて一致するときに等しいと定め、演算は

(∑anxn)+(∑bnxn)=∑(an+bn)xn,(∑anxn)(∑bnxn)=∑n≥0(∑j=0najbn−j)xn\Bigl(\sum a_n x^n\Bigr) + \Bigl(\sum b_n x^n\Bigr) = \sum (a_n + b_n) x^n, \qquad \Bigl(\sum a_n x^n\Bigr)\Bigl(\sum b_n x^n\Bigr) = \sum_{n\ge0}\Bigl(\sum_{j=0}^{n} a_j b_{n-j}\Bigr) x^n

で定めます。後者をコーシー積とよびます。第nn係数を取り出す操作を[xn]A(x)=an[x^n]A(x) = a_nと書きます。とくに基本等式

(1−x)∑n≥0xn=1,すなわち11−x=∑n≥0xn(1 - x)\sum_{n\ge0} x^n = 1, \qquad \text{すなわち}\quad \frac{1}{1-x} = \sum_{n\ge0} x^n

は、収束の主張ではなくC[[x]]\C[[x]]における恒等式です。コーシー積を計算すると、定数項が11、他の係数が00となります。

以後の計算では、形式的冪級数の和と積について、括弧の付け替え、因子の並べ替え、および分配法則による展開を用います。これらの操作が許されるのは、C[[x]]\C[[x]]が単位元をもつ可換環をなすためです。次の命題で定義から確認します。

命題 4.2 (形式的冪級数の全体は可換環をなす).C[[x]]\C[[x]]は定義 4.1の和とコーシー積について、単位元をもつ可換環です。すなわち次が成り立ちます。

  1. (C[[x]],+)(\C[[x]], +)は可換群です。零元はすべての係数が00である級数であり、AAの加法逆元は[xn](−A)=−an[x^n](-A) = -a_nで定まる級数です。
  2. コーシー積は可換です。
  3. コーシー積は結合的です。
  4. 任意のA,B,C∈C[[x]]A, B, C \in \C[[x]]に対してA(B+C)=AB+ACA(B + C) = AB + ACが成り立ちます。
  5. 第00係数が11で他の係数が00である級数11は、コーシー積の単位元です。

証明.ai=[xi]Aa_i = [x^i]A、bj=[xj]Bb_j = [x^j]B、ck=[xk]Cc_k = [x^k]Cと書きます。二つの形式的冪級数が等しいとは係数がすべて一致することなので(定義 4.1)、各主張について両辺の第nn係数が任意のn≥0n \ge 0で一致することを示せば十分です。

1. 和は係数ごとに定めてあり、(C,+)(\C, +)は可換群なので、結合法則、交換法則、零元の存在、および加法逆元の存在は、いずれも各係数について成り立ちます。

2.C\Cの積が可換であることと、i+j=ni + j = nを満たす非負整数の対(i,j)(i, j)を(j,i)(j, i)へ写す対応が同じ有限集合の上の全単射であることから

[xn](AB)=∑i+j=naibj=∑j+i=nbjai=[xn](BA).[x^n](AB) = \sum_{i+j=n} a_i b_j = \sum_{j+i=n} b_j a_i = [x^n](BA).

したがってAB=BAAB=BAです。

3. 定義を二度用いると

[xn]((AB)C)=∑m+k=n(∑i+j=maibj)ck[x^n]\bigl((AB)C\bigr) = \sum_{m+k=n}\Bigl(\sum_{i+j=m} a_i b_j\Bigr) c_k

です。内側は有限和なので、C\Cの分配法則を有限回用いてckc_kを各項へ分配することができ、C\Cの積の結合法則により(aibj)ck=ai(bjck)(a_i b_j) c_k = a_i (b_j c_k)です。対(m,k)(m, k)とi+j=mi + j = mを満たす対(i,j)(i, j)の組を三つ組(i,j,k)(i, j, k)へ写す対応は、i+j+k=ni + j + k = nを満たす非負整数の三つ組全体への全単射なので

[xn]((AB)C)=∑i,j,k≥0i+j+k=naibjck[x^n]\bigl((AB)C\bigr) = \sum_{\substack{i,j,k\ge 0\\ i+j+k=n}} a_i b_j c_k

を得ます。同じ計算をA(BC)A(BC)に対して行うと、同じ有限集合にわたる同じ項の和が得られます。nnは任意なので(AB)C=A(BC)(AB)C = A(BC)です。

4.C\Cの分配法則と有限和の分割により

[xn](A(B+C))=∑i+j=nai(bj+cj)=∑i+j=naibj+∑i+j=naicj=[xn](AB)+[xn](AC).[x^n]\bigl(A(B + C)\bigr) = \sum_{i+j=n} a_i (b_j + c_j) = \sum_{i+j=n} a_i b_j + \sum_{i+j=n} a_i c_j = [x^n](AB) + [x^n](AC).

したがってA(B+C)=AB+ACA(B+C)=AB+ACです。

5.[xj]1[x^j]1はj=0j = 0のとき11、j≥1j \ge 1のとき00なので、[xn](A⋅1)=∑i+j=nai [xj]1=an[x^n](A\cdot 1) = \sum_{i+j=n} a_i\,[x^j]1 = a_nとなりA⋅1=AA \cdot 1 = Aです。2 により1⋅A=A1 \cdot A = Aでもあります。▨

母関数から一般項を取り出す計算では、1/(1−x)1/(1-x)やP(x)/Q(x)P(x)/Q(x)のように冪級数の逆数を書きます。この表記がC[[x]]\C[[x]]の中で意味をもつ範囲を次の命題で確定します。

命題 4.3 (乗法逆元をもつ形式的冪級数).A(x)=∑n≥0anxn∈C[[x]]A(x) = \sum_{n\ge0} a_n x^n \in \C[[x]]について、AB=1AB = 1を満たすB∈C[[x]]B \in \C[[x]]が存在することと、定数項がa0≠0a_0 \ne 0を満たすことは同値です。さらに、そのようなBBが存在するとき、それはただ一つであり、その係数bn=[xn]Bb_n = [x^n]Bは

b0=1a0,bn=−1a0∑j=1najbn−j(n≥1)b_0 = \frac{1}{a_0}, \qquad b_n = -\frac{1}{a_0}\sum_{j=1}^{n} a_j b_{n-j} \quad (n \ge 1)

で定まります。

証明. (逆元が存在すればa0≠0a_0 \ne 0である)AB=1AB = 1とすると、両辺の第00係数を比べてa0b0=1a_0 b_0 = 1を得ます。C\Cにおいてa0b0=1a_0 b_0 = 1が成り立つならばa0≠0a_0 \ne 0です。

(a0≠0a_0 \ne 0ならば逆元が存在する)a0≠0a_0 \ne 0とし、BBの係数を上の二式によってnnに関する再帰で定めます。b0,…,bn−1b_0, \dots, b_{n-1}が定まっていれば第二式の右辺は有限和なので、この再帰は各nnに対して値をただ一つ与え、B∈C[[x]]B \in \C[[x]]が定まります。このとき[x0](AB)=a0b0=1[x^0](AB) = a_0 b_0 = 1であり、n≥1n \ge 1に対しては

[xn](AB)=∑j=0najbn−j=a0bn+∑j=1najbn−j=−∑j=1najbn−j+∑j=1najbn−j=0[x^n](AB) = \sum_{j=0}^{n} a_j b_{n-j} = a_0 b_n + \sum_{j=1}^{n} a_j b_{n-j} = -\sum_{j=1}^{n} a_j b_{n-j} + \sum_{j=1}^{n} a_j b_{n-j} = 0

です。したがってAB=1AB = 1が成り立ちます。

(一意性)AB=1AB = 1かつAB′=1AB' = 1とすると、命題 4.2の 2、3、5 により

B′=B′⋅1=B′(AB)=(B′A)B=(AB′)B=1⋅B=BB' = B'\cdot 1 = B'(AB) = (B'A)B = (AB')B = 1\cdot B = B

です。▨

例 4.4 (等比級数と有理型母関数の分母の逆元).A(x)=1−xA(x) = 1 - xはa0=1≠0a_0 = 1 \ne 0を満たすので、命題 4.3により逆元をもちます。係数の再帰はb0=1b_0 = 1と、n≥1n \ge 1におけるbn=−a1bn−1=bn−1b_n = -a_1 b_{n-1} = b_{n-1}を与えるため、すべてのnnでbn=1b_n = 1となり

11−x=∑n≥0xn\frac{1}{1-x} = \sum_{n\ge0} x^n

を得ます。これは定義 4.1の基本等式です。同じ計算により、α∈C\alpha \in \Cに対する1−αx1 - \alpha xの逆元は∑n≥0αnxn\sum_{n\ge0}\alpha^n x^nです。後の定理 5.1で現れる分母Q(x)=1−c1x−⋯−ckxkQ(x) = 1 - c_1 x - \cdots - c_k x^kもQ(0)=1≠0Q(0) = 1 \ne 0を満たすので逆元をもちます。したがって、そこで用いるA(x)=P(x)/Q(x)A(x) = P(x)/Q(x)という表記はC[[x]]\C[[x]]の中で意味をもちます。

命題 4.5 (母関数の演算と数列操作の対応).A(x)=∑anxn, B(x)=∑bnxnA(x) = \sum a_n x^n,\ B(x) = \sum b_n x^nとし、λ∈C\lambda\in\C、r≥1r\ge 1を整数とします。次が成り立ちます。

  1. (和・スカラー倍)A+BA + Bは数列(an+bn)(a_n + b_n)の OGF であり、λA\lambda Aは(λan)(\lambda a_n)の OGF です。
  2. (右シフト)xrA(x)x^r A(x)は数列(an−r)n≥0(a_{n-r})_{n\ge 0}の OGF です。ただしan:=0 (n<0)a_{n} := 0\ (n<0)とします。
  3. (左シフト)A(x)−∑j=0r−1ajxjxr\dfrac{A(x) - \sum_{j=0}^{r-1} a_j x^j}{x^r}は数列(an+r)n≥0(a_{n+r})_{n\ge0}の OGF です。
  4. (積・畳み込み)A(x)B(x)A(x)B(x)は畳み込み(∑j=0najbn−j)n≥0\bigl(\sum_{j=0}^{n} a_j b_{n-j}\bigr)_{n\ge0}の OGF です。

証明. いずれも[xn][x^n]を計算し、両辺の係数が一致することを確かめれば十分です。

1 は定義そのものです。2 ではxrA(x)=∑m≥0amxm+r=∑n≥ran−rxnx^r A(x) = \sum_{m\ge0} a_m x^{m+r} = \sum_{n\ge r} a_{n-r} x^nであり、n<rn<rの係数は0=an−r0 = a_{n-r}に一致します。ここでは負の添字を00とみなします。3 では、分子A(x)−∑j<rajxj=∑m≥ramxmA(x) - \sum_{j<r} a_j x^j = \sum_{m\ge r} a_m x^mをxrx^rで割ると∑m≥ramxm−r=∑n≥0an+rxn\sum_{m\ge r} a_m x^{m-r} = \sum_{n\ge0} a_{n+r} x^nです。4 はコーシー積の定義(定義 4.1)から直ちに従います。▨

5 母関数による漸化式の解法

定理 5.1 (線形漸化式の母関数は有理関数).定義 1.1のkk階漸化式の解(an)(a_n)の OGFA(x)A(x)は、

Q(x)=1−c1x−c2x2−⋯−ckxkQ(x) = 1 - c_1 x - c_2 x^2 - \cdots - c_k x^k

とおくと有理関数

A(x)=P(x)Q(x),deg⁡P<kA(x) = \frac{P(x)}{Q(x)}, \qquad \deg P < k

に等しくなります。ここで分子PPは初期条件から一意に定まる多項式です。さらにQ(x)=∏i(1−rix)miQ(x) = \prod_i (1 - r_i x)^{m_i}(rir_iは特性根、mim_iはその重複度)と分解します。したがって、1/ri1/r_iはA=P/QA=P/Qの極の候補であり、その位数は高々mim_iです。P(1/ri)≠0P(1/r_i)\ne0ならば因子(1−rix)(1-r_i x)は約分されず、1/ri1/r_iは位数mim_iの極になります。いずれの場合も、部分分数分解によって一般項の閉形式を得ることができます。

証明.Q(x)A(x)Q(x)A(x)の第nn係数を計算します。Q(x)=∑t=0kbtxtQ(x) = \sum_{t=0}^{k} b_t x^t(b0=1, bt=−ctb_0 = 1,\ b_t = -c_t)なので、コーシー積により

[xn](Q(x)A(x))=∑t=0min⁡(n,k)bt an−t.[x^n]\bigl(Q(x)A(x)\bigr) = \sum_{t=0}^{\min(n,k)} b_t\, a_{n-t}.

n≥kn \ge kのとき、これはan−c1an−1−⋯−ckan−ka_n - c_1 a_{n-1} - \cdots - c_k a_{n-k}に等しく、漸化式によって00です。したがってP(x):=Q(x)A(x)P(x) := Q(x)A(x)はxkx^k以上の項をもたず、deg⁡P≤k−1<k\deg P \le k-1 < kの多項式です。Q(0)=1≠0Q(0) = 1 \ne 0なので、命題 4.3によりQQはC[[x]]\C[[x]]で逆元をもち、両辺にQ−1Q^{-1}を掛けるとA(x)=P(x)/Q(x)A(x) = P(x)/Q(x)を得ます。分子の係数は[xn]P=∑t=0nbtan−t (0≤n≤k−1)[x^n]P = \sum_{t=0}^{n} b_t a_{n-t}\ (0\le n\le k-1)であり、初期条件a0,…,ak−1a_0,\dots,a_{k-1}から一意に定まります。

分母の分解を確かめます。特性多項式はχ(y)=∏i(y−ri)mi\chi(y) = \prod_i (y - r_i)^{m_i}(∑imi=k\sum_i m_i = k)です。y=1/xy = 1/xを代入してxkx^kを掛けると

xkχ(1/x)=xk(x−k−c1x−(k−1)−⋯−ck)=1−c1x−⋯−ckxk=Q(x),x^k \chi(1/x) = x^k\bigl(x^{-k} - c_1 x^{-(k-1)} - \cdots - c_k\bigr) = 1 - c_1 x - \cdots - c_k x^k = Q(x),

です。一方、∑imi=k\sum_i m_i = kなので、xkχ(1/x)=∏ixmi(1/x−ri)mi=∏i(1−rix)mix^k \chi(1/x) = \prod_i x^{m_i}(1/x - r_i)^{m_i} = \prod_i (1 - r_i x)^{m_i}です。したがってQ(x)=∏i(1−rix)miQ(x) = \prod_i (1 - r_i x)^{m_i}です。Q(0)=1≠0Q(0)=1\ne0よりx=0x=0はQQの零点ではなく、A=P/QA = P/Qは真分数式(deg⁡P<deg⁡Q=k\deg P < \deg Q = k)なので、部分分数分解

A(x)=∑i∑ℓ=1midi,ℓ(1−rix)ℓA(x) = \sum_i \sum_{\ell=1}^{m_i} \frac{d_{i,\ell}}{(1 - r_i x)^{\ell}}

が一意に存在します。分母が一次式の冪の積である真分数式について、この分解の存在と一意性は代数の標準的な結果であり、本記事では証明せずに認めて用います。

この表示では、分子PPが因子(1−rix)(1-r_i x)をもつと、P/QP/Qを約分した後に残る同因子の指数はmim_iより小さくなり、消えた指数に対応するdi,ℓd_{i,\ell}は零になります。因子がすべて約分されれば、1/ri1/r_iは極ではありません。一方、P(1/ri)≠0P(1/r_i)\ne0ならば(1−rix)(1-r_i x)は約分されません。他の因子はx=1/rix=1/r_iで零にならないため、この場合の1/ri1/r_iは位数mim_iの極です。各項を命題 5.2で展開すると、an=[xn]A(x)a_n = [x^n]A(x)の閉形式を得ます。▨

命題 5.2 (基本分数の係数展開).α∈C\alpha \in \Cと整数m≥1m\ge 1に対し、C[[x]]\C[[x]]において

1(1−αx)m=∑n≥0(n+m−1m−1) α n xn\frac{1}{(1 - \alpha x)^{m}} = \sum_{n\ge 0} \binom{n + m - 1}{m - 1}\, \alpha^{\,n}\, x^n

が成り立ちます。したがって定理 5.1の分解の各項di,ℓ(1−rix)ℓ\dfrac{d_{i,\ell}}{(1 - r_i x)^{\ell}}はri nr_i^{\,n}にnnの次数ℓ−1\ell-1の多項式を掛けた列を与えます。特性根rir_iの重複度mim_iは、部分分数で現れうる分母の指数と、多項式係数の次数の上限を与えます。分子との約分を許しても、一般項はan=∑ipi(n)ri na_n = \sum_i p_i(n) r_i^{\,n}(deg⁡pi<mi\deg p_i < m_i)の形に復元されます。

証明.mmに関する帰納法で示します。m=1m=1のとき、右辺は∑n(n0)αnxn=∑nαnxn\sum_n \binom{n}{0}\alpha^n x^n = \sum_n \alpha^n x^nであり、定義 4.1の基本等式でxxをαx\alpha xに置き換えた11−αx\dfrac{1}{1-\alpha x}に等しくなります。m−1m-1で成立すると仮定すると、1(1−αx)m=1(1−αx)m−1⋅11−αx\dfrac{1}{(1-\alpha x)^m} = \dfrac{1}{(1-\alpha x)^{m-1}}\cdot\dfrac{1}{1-\alpha x}の係数はコーシー積(命題 4.5)により

[xn]1(1−αx)m=∑j=0n(j+m−2m−2)αj⋅αn−j=αn∑j=0n(j+m−2m−2).[x^n]\frac{1}{(1-\alpha x)^m} = \sum_{j=0}^{n} \binom{j + m - 2}{m - 2}\alpha^{j}\cdot \alpha^{n-j} = \alpha^{n}\sum_{j=0}^{n}\binom{j + m - 2}{m - 2}.

です。ここでホッケースティック恒等式∑j=0n(j+m−2m−2)=(n+m−1m−1)\sum_{j=0}^{n}\binom{j+m-2}{m-2} = \binom{n+m-1}{m-1}を用います。この恒等式は、パスカルの関係式(s+1m−1)−(sm−1)=(sm−2)\binom{s+1}{m-1} - \binom{s}{m-1} = \binom{s}{m-2}をs=m−2,…,n+m−2s = m-2,\dots,n+m-2について足し合わせると、左辺が望遠鏡和で(n+m−1m−1)−(m−2m−1)=(n+m−1m−1)\binom{n+m-1}{m-1} - \binom{m-2}{m-1} = \binom{n+m-1}{m-1}となることから従います。ここで(m−2m−1)=0\binom{m-2}{m-1}=0です。したがって[xn]=(n+m−1m−1)αn[x^n] = \binom{n+m-1}{m-1}\alpha^nとなり、主張が示されました。

(n+ℓ−1ℓ−1)\binom{n+\ell-1}{\ell-1}はnnの次数ℓ−1\ell-1の多項式なので、di,ℓ(1−rix)ℓ\dfrac{d_{i,\ell}}{(1-r_ix)^\ell}はrinr_i^nに次数ℓ−1\ell-1の多項式を掛けた列を与えます。ℓ\ellを11からmim_iまでわたって足すと、rinr_i^nの係数は次数<mi<m_iの多項式pi(n)p_i(n)になります。▨

注意 5.3. 特性多項式における根rir_iの重複度mim_iは、分母QQにおける因子(1−rix)(1-r_i x)の重複度です。特定の初期条件から定まる分子PPとの約分によって、A=P/QA=P/Qの実際の極は消失したり、位数がmim_iより小さくなったりします。したがって、mim_iはすべての初期条件を通じた上限であり、個々の解の OGF における極の位数と無条件には一致しません。P(1/ri)≠0P(1/r_i)\ne0の場合に限って、約分が起こらず、極の位数はmim_iです。

母関数の方法は非斉次項や、係数が畳み込みで結合する非線形の漸化式にも及びます。代表例がカタラン数です。

例 5.4 (カタラン数).nn個の+1+1とnn個の−1-1を並べて任意の先頭からの部分和が非負になる列の個数、あるいはn+1n+1個の葉をもつ二分木の個数などを数えるカタラン数CnC_nは、C0=1C_0 = 1と畳み込み型の漸化式

Cn+1=∑i=0nCi Cn−i(n≥0)C_{n+1} = \sum_{i=0}^{n} C_i\, C_{n-i} \qquad (n\ge 0)

を満たします。これは、最初の分割点で二つの独立な部分構造に分かれることによります。OGFC(x)=∑n≥0CnxnC(x) = \sum_{n\ge0} C_n x^nをとると、右辺の畳み込みは命題 4.5よりC(x)2C(x)^2の係数であり、左シフトを合わせると

C(x)=1+x C(x)2C(x) = 1 + x\, C(x)^2

を得ます。この等式から

(1−2xC(x))2=1−4xC(x)+4x2C(x)2=1−4x\bigl(1-2xC(x)\bigr)^2 =1-4xC(x)+4x^2C(x)^2 =1-4x

となります。定数項が11で二乗が1−4x1-4xとなる形式的冪級数は一意です。実際、T(x)=1+∑n≥1tnxnT(x)=1+\sum_{n\ge1}t_nx^nとおくと、T(x)2=1−4xT(x)^2=1-4xの第nn係数は

2tn+∑j=1n−1tjtn−j2t_n+\sum_{j=1}^{n-1}t_jt_{n-j}

であり、t1,t2,…t_1,t_2,\dotsが順に一意に定まります。この形式的平方根を1−4x\sqrt{1-4x}と書くと、1−2xC(x)=1−4x1-2xC(x)=\sqrt{1-4x}なので

C(x)=1−1−4x2xC(x)=\frac{1-\sqrt{1-4x}}{2x}

です。分子1−1−4x=2xC(x)1-\sqrt{1-4x}=2xC(x)はxxで割り切れます。一方、もう一つの代数的な枝1+1−4x2x\dfrac{1+\sqrt{1-4x}}{2x}は分子の定数項が22なので、x−1x^{-1}の項をもつ Laurent 級数となり、C[[x]]\C[[x]]には属しません。

閉形式は一般化二項級数(1−4x)1/2=∑n≥0(1/2n)(−4x)n(1 - 4x)^{1/2} = \sum_{n\ge0}\binom{1/2}{n}(-4x)^nの係数抽出で得ます。この展開は本記事では証明せず、認めて用います。認めた級数は定数項が11で二乗が1−4x1-4xなので、上で一意性を示した形式的平方根1−4x\sqrt{1-4x}と一致します。Cn=[xn]C(x)=−12[xn+1]1−4x=−12(1/2n+1)(−4)n+1C_n = [x^n]C(x) = -\tfrac12 [x^{n+1}]\sqrt{1-4x} = -\tfrac12\binom{1/2}{n+1}(-4)^{n+1}を整理すると

Cn=1n+1(2nn).C_n = \frac{1}{n+1}\binom{2n}{n}.

ここでは(1/2n+1)=(−1)n(2n)!22n+1 n! (n+1)!\binom{1/2}{n+1} = \dfrac{(-1)^n (2n)!}{2^{2n+1}\, n!\,(n+1)!}を代入しました。

係数を検算します。漸化式からC0,…,C4C_0,\dots,C_4を計算すると、次を得ます。

C1=C02=1,C2=2C0C1=2,C3=2C0C2+C12=5,C4=2C0C3+2C1C2=14.C_1 = C_0^2 = 1,\quad C_2 = 2C_0C_1 = 2,\quad C_3 = 2C_0C_2 + C_1^2 = 5,\quad C_4 = 2C_0C_3 + 2C_1C_2 = 14.

閉形式1n+1(2nn)\tfrac{1}{n+1}\binom{2n}{n}は1,1,2,5,141, 1, 2, 5, 14を与えます。たとえばn=4n=4では15(84)=705=14\tfrac15\binom84 = \tfrac{70}{5} = 14となり、漸化式による値と一致します。

6 指数型母関数

定義 6.1 (指数型母関数). 数列(an)n≥0(a_n)_{n\ge 0}の指数型母関数(exponential generating function, EGF)とは、形式的冪級数

A^(x)=∑n≥0anxnn!\hat A(x) = \sum_{n\ge 0} a_n \frac{x^n}{n!}

です。EGF は、要素に区別(ラベル)のある構造の数え上げに適しています。実際、二つの EGF の積は

A^(x) B^(x)=∑n≥0(∑k=0n(nk)ak bn−k)xnn!\hat A(x)\,\hat B(x) = \sum_{n\ge0}\Bigl(\sum_{k=0}^{n}\binom{n}{k} a_k\, b_{n-k}\Bigr)\frac{x^n}{n!}

という二項型の畳み込みを与えます。[xn][x^n]を比べると、左辺は∑kakk!bn−k(n−k)!=1n!∑k(nk)akbn−k\sum_k \tfrac{a_k}{k!}\tfrac{b_{n-k}}{(n-k)!} = \tfrac{1}{n!}\sum_k \binom{n}{k}a_k b_{n-k}です。係数(nk)\binom{n}{k}はnn個のラベルを二つの部分構造に分配する場合の数に対応し、ラベル付き数え上げで EGF を用いる根拠になります。

固定されたnn元ラベル集合上の全順列を数える場合にはan=n!a_n=n!なので、その EGF は

∑n≥0n!xnn!=∑n≥0xn=11−x\sum_{n\ge0}n!\frac{x^n}{n!}=\sum_{n\ge0}x^n=\frac{1}{1-x}

です。一方、各nn元ラベル集合に追加構造を持たない集合構造を一つ数える場合にはan=1a_n=1なので、その EGF は∑n≥0xnn!=ex\sum_{n\ge0}\tfrac{x^n}{n!}=e^xです。

通常型と指数型の使い分けは、対象にラベルがあるか(順列・分割のようにラベル付き)ないか(整数の分割・格子路のように非ラベル)に対応します。本記事の斉次線形漸化式では、OGF が有理関数になる点が重要です。ラベル付き構造の系統的な数え上げ(種の理論)は後続の話題です。

7 誤りを避けるための確認事項

  • 特性方程式と母関数の分母を区別します。 漸化式an=c1an−1+⋯+ckan−ka_n = c_1 a_{n-1} + \cdots + c_k a_{n-k}に対する特性多項式はχ(x)=xk−c1xk−1−⋯−ck\chi(x) = x^k - c_1 x^{k-1} - \cdots - c_k(定義 1.1)であり、母関数の分母Q(x)=1−c1x−⋯−ckxkQ(x) = 1 - c_1 x - \cdots - c_k x^k(定理 5.1)とは異なります。両者はQ(x)=xkχ(1/x)Q(x) = x^k\chi(1/x)で結ばれ、χ\chiの根rir_iとQQの根1/ri1/r_iは逆数の関係にあります。符号−ct-c_tを誤ると、特性根も変わります。
  • 重複根では多項式因子を含めます。 特性根rrが重複度mmをもつときはrn,nrn,…,nm−1rnr^n, n r^n, \dots, n^{m-1}r^nまでを基本解にとります(系 2.3)。同じ列rnr^nをmm回列挙しても一次従属なので、一般の初期条件に対応することができません。母関数の分母QQでは(1−rx)(1-rx)が重複度mmの因子になりますが、個々の解のA=P/QA=P/Qでは分子との約分によって、極が消失したり位数が小さくなったりします(注意 5.3)。
  • 冪級数の逆数をとる前に定数項を確認します。1/A(x)1/A(x)という表記がC[[x]]\C[[x]]の元を表すのはA(0)≠0A(0)\ne 0のときに限られ、そのとき逆元は一意です(命題 4.3)。A(0)=0A(0)=0のときは、たとえば1/x1/xがC[[x]]\C[[x]]に属しません。母関数の分母Q(x)Q(x)はQ(0)=1Q(0)=1を満たすため、逆元をとることができます。
  • 母関数の左シフトでは初期項を除きます。 左シフト(an+r)(a_{n+r})に対応するのはA(x)/xrA(x)/x^rではなく、(A(x)−∑j<rajxj)/xr\bigl(A(x) - \sum_{j<r} a_j x^j\bigr)/x^rです(命題 4.5)。低次の項を除かなければ、存在しない負の添字が導入されます。Q(x)A(x)Q(x)A(x)が多項式になるのは、この初期項の除去と漸化式による高次係数の消去によります(定理 5.1)。
  • カタラン数では形式的平方根の定数項を指定します。C(x)=1+xC(x)2C(x) = 1 + xC(x)^2から得られる1−4x\sqrt{1-4x}は、定数項が11である一意な形式的平方根です。1−1−4x2x\dfrac{1-\sqrt{1-4x}}{2x}の分子はxxで割り切れますが、1+1−4x2x\dfrac{1+\sqrt{1-4x}}{2x}はx−1x^{-1}の項をもち、C[[x]]\C[[x]]には属しません(例 5.4)。
  • 通常型と指数型の積を区別します。 OGF の積はコーシー積∑jajbn−j\sum_j a_j b_{n-j}、EGF の積は二項畳み込み∑k(nk)akbn−k\sum_k \binom{n}{k} a_k b_{n-k}に対応します(定義 4.1、定義 6.1)。ラベルの有無によって用いる母関数と演算則が変わります。線形漸化式の一般項を求める場合には、OGF が有理関数になる通常型で十分です。

参考文献

  1. Ronald L. Graham, Donald E. Knuth, and Oren Patashnik, Concrete Mathematics, 2nd ed., Addison-Wesley, Reading, Massachusetts, 1994.定数を係数とする線形漸化式の解法と、部分分数分解から一般項を取り出す手順を参考にしました。
  2. Herbert S. Wilf, generatingfunctionology, 3rd ed., A K Peters, 2005.形式的冪級数としての母関数の扱いと、畳み込み型の漸化式をカタラン数へ適用する組み立てを参考にしました。
  3. Richard P. Stanley, Enumerative Combinatorics, 2nd ed., Cambridge Studies in Advanced Mathematics 49, vol. 1, Cambridge University Press, Cambridge, 2011.形式的冪級数のなす環の構成と、有理型母関数をもつ数列の特徴づけを参考にしました。

前提記事