漸化式

同義語:recurrence relation

概要

漸化式(recurrence relation)とは、数列の項 $a_n$ を、それより前の項 $a_{n-1},\dots,a_{n-k}$ から決める式で、初期値 $a_0,\dots,a_{k-1}$ を与えると数列はただ 1 つに定まる。ハノイの塔の最少手数は $T_n=2T_{n-1}+1$、$T_0=0$ から $T_n=2^n-1$ となる。係数が定数の線形漸化式 $a_n=c_1a_{n-1}+\cdots+c_ka_{n-k}$($c_k\neq0$)の解全体は $k$ 次元のベクトル空間をなし、特性多項式 $x^k-c_1x^{k-1}-\cdots-c_k$ の根 $\alpha$ とその重複度 $m$ から得られる $n^s\alpha^n$($0\le s<m$)が基底になる(重根では $\alpha^n$ だけでは足りず、$n\alpha^n$ などが要る)。

$$\newcommand{C}[0]{\mathbb{C}} \newcommand{div}[0]{\mathbin{÷}} \newcommand{N}[0]{\mathbb{N}} \newcommand{Q}[0]{\mathbb{Q}} \newcommand{R}[0]{\mathbb{R}} \newcommand{Z}[0]{\mathbb{Z}} $$

前提知識: 数列, 数学的帰納法, 複素数, ベクトル空間

3 本の棒の 1 本に、大きさの違う $n$ 枚の円盤が大きい順に積んである。1 回に 1 枚ずつ動かし、小さい円盤の上に大きい円盤を置かないという規則で全部を別の棒へ移すとき、必要な最少の手数を $T_n$ とする(ハノイの塔)。$n$ 枚を移すには、上の $n-1$ 枚をいったん 3 本目の棒へ移し、いちばん大きい円盤を動かし、$n-1$ 枚をその上へ戻せばよいので、$T_n=2T_{n-1}+1$ となる(これが最少であることは ex-rec-hanoi で示す)。$T_0=0$ から始めると $T_n$ は
$$ 0,\ 1,\ 3,\ 7,\ 15,\ 31,\ 63,\ \dots $$
と決まっていき、$T_n=2^n-1$ であることが分かる。同じように、$a_0=0$、$a_1=1$、$a_n=5a_{n-1}-6a_{n-2}$ で定まる数列は $0,1,5,19,65,211,\dots$ であり、一般項は $a_n=3^n-2^n$ である。このように、数列の項を前の項から決める式を 漸化式 という。漸化式は数列を順に計算する手順を与えるが、第 $n$ 項を直接表す式(一般項)を求めるには工夫が要る。係数が定数の線形の漸化式については、特性方程式の根を使って一般項を完全に求める方法がある(thm-rec-characteristic)。

定義

数列 $(a_n)_{n\ge0}=(a_0,a_1,a_2,\dots)$ は、自然数 $n$ に値 $a_n$ を対応させる写像である(数列)。値は実数や複素数のことが多いが、一般の集合 $X$ でもよい。

漸化式

$k$ を正の整数、$X$ を集合とする。各 $n\ge k$ について写像 $F_n\colon X^k\to X$ が与えられているとき、条件
$$ a_n=F_n(a_{n-1},a_{n-2},\dots,a_{n-k})\qquad(n\ge k) $$
を $k$ 階の 漸化式(recurrence relation)という。$a_0,\dots,a_{k-1}$ の値を 初期値(初期条件)といい、漸化式を満たす数列をその 解 という。

$F_n$ が $n$ によって変わってよいので、$a_n=na_{n-1}$($a_0=1$ なら $a_n=n!$)のような式も漸化式である。Catalan数 の $C_{n+1}=\sum_{i=0}^{n}C_iC_{n-i}$ のように、$a_n$ を前のすべての項から決める式も漸化式と呼ばれる(Catalan数 の記事の命題「最初の復帰による漸化式」)。以下では主に次の形を扱う。

定数係数の線形漸化式と特性多項式

複素数 $c_1,\dots,c_k$($c_k\neq0$)と数列 $(f(n))_{n\ge k}$ について、
$$ a_n=c_1a_{n-1}+c_2a_{n-2}+\cdots+c_ka_{n-k}+f(n)\qquad(n\ge k) $$
を $k$ 階の 定数係数線形漸化式 という。すべての $n$ で $f(n)=0$ のとき 斉次、そうでないとき 非斉次 という。斉次の場合に
$$ \chi(x):=x^k-c_1x^{k-1}-c_2x^{k-2}-\cdots-c_k $$
をこの漸化式の 特性多項式、$\chi(x)=0$ を 特性方程式、その根を 特性根 という。

特性多項式は、$a_n=x^n$($x\neq0$)の形の解を探すと現れる。これを漸化式に代入して $x^{n-k}$ で割ると $x^k=c_1x^{k-1}+\cdots+c_k$、すなわち $\chi(x)=0$ となる(Lev §4.4.3、pp. 356–357)。$c_k\neq0$ は、$\chi(0)=-c_k\neq0$、つまり特性根がどれも $0$ でないことを保証する。
関数 $f$ を $f(0)$ と「$f(n)$ から $f(n+1)$ を決める規則」で定める帰納的な定義(再帰的定義)も、1 階の漸化式の形をしている。そのような定義が関数をただ 1 つ定めることは prop-rec-unique と同じ議論で示される(数学的帰納法 の記事の注意「帰納的な定義」も参照)。

直感

漸化式は「次の一歩」だけを教える規則である。初期値という出発点と一歩ずつの規則があれば、数列は最後まで決まる(prop-rec-unique)。一方、100 項目を知るのに 99 項目までを順に計算するのは手間がかかるので、$n$ を代入すればすぐ値の出る一般項が欲しくなる。定数係数の線形漸化式では、解全体が $k$ 次元のベクトル空間をなす(prop-rec-solution-space)。等比数列 $\alpha^n$ が解になるのは $\alpha$ が特性根のときなので、特性根が $k$ 個あれば、その冪の一次結合で解がすべて書ける。特性根が重なると冪の数が足りなくなるが、そのときは $n\alpha^n,n^2\alpha^n,\dots$ が不足を補う(thm-rec-characteristic)。

例と反例

ハノイの塔の最少手数

冒頭のハノイの塔で、$n$ 枚の円盤をある棒から別の棒へ移す最少手数を $T_n$ とする(どの 2 本の棒の間でも、棒の役割を入れ替えれば同じ数である)。$T_0=0$ であり、$n\ge1$ で $T_n=2T_{n-1}+1$ となることを示す。
$T_n\le2T_{n-1}+1$:上の $n-1$ 枚を 3 本目の棒へ $T_{n-1}$ 手で移し、最大の円盤を 1 手で目的の棒へ移し、$n-1$ 枚を $T_{n-1}$ 手でその上へ移せばよい。最大の円盤はどの円盤の下にも置けるので、$n-1$ 枚の移動の妨げにならない。
$T_n\ge2T_{n-1}+1$:任意の完成手順を考える。最大の円盤は少なくとも 1 回動く。それが最初に動く直前、最大の円盤の上にも行き先の棒にも他の円盤は無いので、他の $n-1$ 枚はすべて残りの 1 本に積まれている。はじめ $n-1$ 枚は最大の円盤の上にあったので、それまでに $n-1$ 枚を 1 本の棒から別の棒へ移しており、少なくとも $T_{n-1}$ 手かかっている(最大の円盤は小さい円盤の動きを制限しないので、この間の小さい円盤の動きだけで $n-1$ 枚の手順になっている)。同様に、最大の円盤が最後に動いた直後、他の $n-1$ 枚はすべて目的の棒以外の 1 本にあり、そこから目的の棒へ移すのに少なくとも $T_{n-1}$ 手かかる。この 2 つの期間は最大の円盤の移動をはさんで重ならないので、合計は $2T_{n-1}+1$ 手以上である。
よって $T_n=2T_{n-1}+1$ であり、thm-rec-first-order($r=2$、$c=1$)から $T_n=2^n-1$ である。$64$ 枚なら $2^{64}-1=18446744073709551615$ 手になる。ハノイの塔は Lev §4.1.1(p. 311)で漸化式の導入の例として扱われている。

相異なる特性根

$a_0=0$、$a_1=1$、$a_n=5a_{n-1}-6a_{n-2}$($n\ge2$)の特性多項式は $x^2-5x+6=(x-2)(x-3)$ であり、thm-rec-characteristic により解は $a_n=A\cdot2^n+B\cdot3^n$ の形に書ける。初期値から $A+B=0$、$2A+3B=1$ なので $A=-1$、$B=1$ であり、$a_n=3^n-2^n$ である。$n=4$ で $81-16=65$ となり、漸化式で順に計算した値 $0,1,5,19,65$ と一致する。
Fibonacci数 $F_{n+2}=F_{n+1}+F_n$ も同じ形であり、特性根 $\varphi=(1+\sqrt5)/2$、$\psi=(1-\sqrt5)/2$ から Binet の公式 $F_n=(\varphi^n-\psi^n)/\sqrt5$ が得られる(Fibonacci数 の記事の定理「Binetの公式」)。

反例:重根では冪だけでは足りない

$a_n=4a_{n-1}-4a_{n-2}$ の特性多項式は $x^2-4x+4=(x-2)^2$ で、特性根は $2$ だけである。冪 $2^n$ の定数倍 $A\cdot2^n$ は解だが、初期値 $a_0=0$、$a_1=1$ には合わせられない($A=a_0=0$ とすると $a_1=0\ne1$)。この初期値の解は $0,1,4,12,32,80,\dots$ であり、実際には $a_n=n\cdot2^{n-1}$ である。$n\cdot2^n$ も解であり(thm-rec-characteristic)、$a_n=A\cdot2^n+B\cdot n2^n$ で $A=0$、$B=1/2$ とすればよい。この例は「特性根の冪の一次結合で、すべての解が書ける」という含意を、重根の場合に破っている。欠けているのは $n\alpha^n$ の形の解である(Lev §4.4.3 の重根の場合、p. 358)。

反例:初期値によっては数列が定まらない漸化式

実数の漸化式 $a_n=1/(1-a_{n-1})$ を考える。$a_0=2$ なら $a_1=-1$、$a_2=1/2$、$a_3=2$ となり、以後 $2,-1,1/2$ を周期 3 で繰り返す。しかし $a_0=0$ なら $a_1=1$ で、$a_2=1/(1-1)$ は定義されない。右辺の関数 $x\mapsto1/(1-x)$ が $x=1$ で定義されていないので、この漸化式は def-rec の意味での($F_n$ が $X^k$ 全体で定義された)漸化式ではない。prop-rec-unique の「初期値と漸化式で数列がただ 1 つに決まる」は、$F_n$ が $X^k$ 全体で定義されているという仮定のもとでの主張であり、この仮定を外すと存在が破れる。

性質

解の存在と一意性

初期値による解の存在と一意性

def-rec の漸化式と、任意の初期値 $b_0,\dots,b_{k-1}\in X$ に対し、$a_i=b_i$($0\le i< k$)を満たす解 $(a_n)_{n\ge0}$ がただ 1 つ存在する。

有限の列を延ばしていく

一意性:$(a_n)$、$(a'_n)$ がともに解で初期値が等しいとする。$n$ についての強い帰納法(数学的帰納法 の記事の定理「強い帰納法」)で $a_n=a'_n$ を示す。$n< k$ なら初期値が等しい。$n\ge k$ で、$m< n$ のすべてで $a_m=a'_m$ なら、$a_n=F_n(a_{n-1},\dots,a_{n-k})=F_n(a'_{n-1},\dots,a'_{n-k})=a'_n$ である。
存在:$N\ge k-1$ について、長さ $N+1$ の列 $(a_0,\dots,a_N)$ で、$a_i=b_i$($i< k$)かつ $k\le n\le N$ で $a_n=F_n(a_{n-1},\dots,a_{n-k})$ を満たすもの(長さ $N+1$ の部分解と呼ぶ)が存在することを $N$ に関する帰納法で示す。$N=k-1$ では $(b_0,\dots,b_{k-1})$ がそうである。長さ $N+1$ の部分解 $(a_0,\dots,a_N)$ があれば、$a_{N+1}:=F_{N+1}(a_N,\dots,a_{N+1-k})$ を付け加えたものは長さ $N+2$ の部分解である。一意性の議論と同じ帰納法により、長さの違う部分解どうしも共通の番号では値が一致する。そこで各 $n$ について、長さ $n+1$ 以上の任意の部分解の $n$ 番目の値を $a_n$ と定めると、$(a_n)_{n\ge0}$ は初期値 $b_i$ をもち、各 $n\ge k$ で漸化式を満たす(長さ $n+1$ の部分解の中で成り立っているから)。$\square$

1 階の線形漸化式

1 階の線形漸化式の一般項

複素数 $r,c$ について、$a_n=ra_{n-1}+c$($n\ge1$)を満たす数列は次のように書ける。

  1. $r\neq1$ のとき、$p:=c/(1-r)$ とおくと $a_n=p+r^n(a_0-p)$。
  2. $r=1$ のとき、$a_n=a_0+nc$。
不動点を引く

1:$p=rp+c$ なので、漸化式から $p=rp+c$ を引くと $a_n-p=r(a_{n-1}-p)$ である。$n$ についての帰納法で $a_n-p=r^n(a_0-p)$ が従う($n=0$ では両辺が等しく、$n-1$ で成り立てば $a_n-p=r\cdot r^{n-1}(a_0-p)$)。
2:$a_n-a_{n-1}=c$ なので、帰納法で $a_n=a_0+nc$ である。$\square$

$p$ は漸化式の「不動点」($a_{n-1}=p$ なら $a_n=p$ となる値)であり、$a_n$ と $p$ の差が毎回 $r$ 倍される。ハノイの塔($r=2$、$c=1$)では $p=-1$ なので $T_n=-1+2^n(0+1)=2^n-1$ である。

定数係数の線形漸化式

以下、def-rec-linear の斉次の漸化式
$$ a_n=c_1a_{n-1}+\cdots+c_ka_{n-k}\qquad(n\ge k) $$
を考え、複素数列の解全体を $V$ とする。

解全体は $k$ 次元のベクトル空間

$V$ は複素数列全体のなすベクトル空間の部分空間であり、初期値をとる写像 $\Phi\colon V\to\mathbb{C}^k$、$(a_n)\mapsto(a_0,\dots,a_{k-1})$ は線形同型である。特に $\dim V=k$ である。

初期値で決まる

$(a_n),(b_n)\in V$、$\lambda\in\mathbb{C}$ なら、$n\ge k$ で $a_n+\lambda b_n=\sum_{i=1}^kc_i(a_{n-i}+\lambda b_{n-i})$ なので $(a_n+\lambda b_n)\in V$ であり、零数列も $V$ に属する。よって $V$ は部分空間である。$\Phi$ は明らかに線形写像である。prop-rec-unique($X=\mathbb{C}$、$F_n(y_1,\dots,y_k)=c_1y_1+\cdots+c_ky_k$)により、任意の初期値に対して解がただ 1 つあるので、$\Phi$ は全単射である。よって $\Phi$ は線形同型であり、$\dim V=\dim\mathbb{C}^k=k$ である(基底と次元)。$\square$

特性根で解を書くために、数列をずらす写像を使う。複素数列 $a=(a_n)_{n\ge0}$ に対し、$(Ea)_n:=a_{n+1}$ で定まる数列 $Ea$ を対応させる写像 $E$ を シフト作用素 という。$E$ は線形であり、多項式 $g(x)=\sum_jg_jx^j$ に対して $g(E):=\sum_jg_jE^j$ と定めると、$(gh)(E)=g(E)h(E)=h(E)g(E)$ が成り立つ($E$ の冪どうしは可換なので、多項式の積の展開と同じ計算になる)。$(\chi(E)a)_n=a_{n+k}-c_1a_{n+k-1}-\cdots-c_ka_n$ なので、
$$ a\in V\iff\chi(E)a=0 $$
である(番号を $n+k$ から $n$ にずらして読めばよい)。同じ作用素を advancement operator と呼んで漸化式を解く扱いが KT17 §9.3(pp. 187–188。作用素 $A$ の定義 $Af(n)=f(n+1)$ 自体は p. 188)にある。

シフト作用素と多項式倍の冪

$\alpha,\beta$ を $0$ でない複素数、$p$ を $d$ 次の多項式($p\neq0$)とし、数列 $p(n)\beta^n$ を考える。

  1. $\beta=\alpha$ なら $(E-\alpha)\bigl(p(n)\alpha^n\bigr)=q(n)\alpha^n$ であり、$q$ は $d\ge1$ なら $d-1$ 次の多項式、$d=0$ なら $q=0$ である。
  2. $\beta\neq\alpha$ なら $(E-\alpha)\bigl(p(n)\beta^n\bigr)=q(n)\beta^n$ であり、$q$ はちょうど $d$ 次の多項式である。
直接計算する

$(E-\alpha)\bigl(p(n)\beta^n\bigr)=p(n+1)\beta^{n+1}-\alpha p(n)\beta^n=\bigl(\beta p(n+1)-\alpha p(n)\bigr)\beta^n$ なので、$q(n):=\beta p(n+1)-\alpha p(n)$ である。$p$ の最高次の係数を $\ell\neq0$ とする。
1:$\beta=\alpha$ なら $q(n)=\alpha\bigl(p(n+1)-p(n)\bigr)$ である。$d=0$ なら $p$ は定数なので $q=0$ である。$d\ge1$ なら、二項定理により $(n+1)^d-n^d$ は $n^{d-1}$ の係数が $d$ の $d-1$ 次式であり、$j< d$ の $(n+1)^j-n^j$ は $j-1$ 次以下なので、$p(n+1)-p(n)$ は $n^{d-1}$ の係数が $d\ell\neq0$ の $d-1$ 次式である。$\alpha\neq0$ なので $q$ も $d-1$ 次である。
2:$q$ の $n^d$ の係数は $\beta\ell-\alpha\ell=(\beta-\alpha)\ell\neq0$ であり、$q$ の次数は $d$ 以下なので、ちょうど $d$ 次である。$\square$

特性根による一般解

特性多項式が、相異なる複素数 $\alpha_1,\dots,\alpha_r$ と正の整数 $m_1,\dots,m_r$($m_1+\cdots+m_r=k$)によって
$$ \chi(x)=(x-\alpha_1)^{m_1}(x-\alpha_2)^{m_2}\cdots(x-\alpha_r)^{m_r} $$
と因数分解されるとする。このとき $k$ 個の数列
$$ n^s\alpha_j^n\qquad(1\le j\le r,\ 0\le s< m_j) $$
は $V$ の基底である。すなわち、斉次の漸化式の解は、$m_j-1$ 次以下の多項式 $p_j$ によって $a_n=p_1(n)\alpha_1^n+\cdots+p_r(n)\alpha_r^n$ とただ 1 通りに書け、逆にこの形の数列はすべて解である。特に特性根がすべて単根($r=k$)なら、解は $a_n=A_1\alpha_1^n+\cdots+A_k\alpha_k^n$($A_j\in\mathbb{C}$)の形である。

シフト作用素で項を消していく

代数学の基本定理により $\chi$ は複素数の範囲でこのように因数分解される。$\chi(0)=-c_k\neq0$ なので、どの $\alpha_j$ も $0$ でない。
(i) 各数列が解であること:$0\le s< m_j$ とする。lem-rec-shift の 1 を繰り返し使うと、$(E-\alpha_j)$ を 1 回施すごとに多項式の次数が 1 ずつ下がり、$s+1$ 回で $0$ になる。$s+1\le m_j$ なので $(E-\alpha_j)^{m_j}(n^s\alpha_j^n)=0$ である。$\chi(E)=\Bigl(\prod_{i\neq j}(E-\alpha_i)^{m_i}\Bigr)(E-\alpha_j)^{m_j}$ なので $\chi(E)(n^s\alpha_j^n)=0$、すなわち $n^s\alpha_j^n\in V$ である。
(ii) 線形独立であること:多項式 $p_j$($\deg p_j< m_j$、または $p_j=0$)について、すべての $n\ge0$ で $\sum_{j=1}^rp_j(n)\alpha_j^n=0$ ならば、すべての $p_j$ が $0$ であることを $r$ に関する帰納法で示す。$r=1$ なら $p_1(n)\alpha_1^n=0$ と $\alpha_1\neq0$ から、すべての $n\ge0$ で $p_1(n)=0$ である。$0$ でない多項式の根は有限個なので $p_1=0$ である。$r\ge2$ のとき、両辺に $(E-\alpha_r)^{m_r}$ を施す。(i) と同じ理由で $j=r$ の項は $0$ になる。$j< r$ の項は、lem-rec-shift の 2 を $m_r$ 回使うと $q_j(n)\alpha_j^n$ の形になり、$p_j\neq0$ なら $q_j$ は $p_j$ と同じ次数の $0$ でない多項式、$p_j=0$ なら $q_j=0$ である。よってすべての $n$ で $\sum_{j< r}q_j(n)\alpha_j^n=0$ であり、帰納法の仮定から $q_j=0$、したがって $p_j=0$($j< r$)である。残る $p_r(n)\alpha_r^n=0$ から、$r=1$ の場合と同様に $p_r=0$ である。
(iii) (i)(ii) により、$V$ の中に線形独立な $k$ 個の元がある。prop-rec-solution-space により $\dim V=k$ なので、これらは $V$ の基底である(基底と次元)。$\square$

KT17 は同じ内容を、解全体が $k$ 次元であること(Theorem 9.18、p. 199)、特性根が相異なる場合(Theorem 9.21、pp. 200–201)、重根の場合(Lemma 9.22、p. 201。証明は演習とされている)に分けて述べている。ただし同書は数列を整数全体 $\mathbb{Z}$ 上の関数として扱っている。
係数 $c_i$ が実数でも、特性根は実数とは限らない。たとえば $a_n=-a_{n-2}$ の特性多項式は $x^2+1$ で、特性根は $\pm i$ である。$a_0=1$、$a_1=0$ の解は $1,0,-1,0,1,0,\dots$ であり、$a_n=(i^n+(-i)^n)/2$ と書ける。実数の解を複素数の冪で表すことに問題はない。

非斉次の漸化式

非斉次の漸化式の解

def-rec-linear の非斉次の漸化式の解 $(b_n)$ を 1 つとる。このとき、非斉次の漸化式の解全体は $\{(b_n+h_n)\mid(h_n)\in V\}$ である。

差をとる

$(a_n)$ が非斉次の解なら、$n\ge k$ で $a_n-b_n=\sum_{i=1}^kc_i(a_{n-i}-b_{n-i})$($f(n)$ が打ち消し合う)なので $(a_n-b_n)\in V$ である。逆に $(h_n)\in V$ なら、$b_n+h_n=\sum_ic_i(b_{n-i}+h_{n-i})+f(n)$ なので $(b_n+h_n)$ は非斉次の解である。$\square$

特殊解 $(b_n)$ は、$f(n)$ の形をまねた式を代入して探すことが多い。たとえば $a_n=a_{n-1}+n$($a_0=0$)では、斉次の解は定数である。特性根 $1$ が $f(n)=n$ の「底」$1^n$ と重なるので 1 次式では合わず、2 次式 $b_n=n(n+1)/2$ を試すと $b_n-b_{n-1}=n$ となって特殊解になる。prop-rec-inhomogeneous により解は $a_n=n(n+1)/2+C$ であり、$a_0=0$ から $C=0$ である(値は $0,1,3,6,10,15,\dots$)。このように特殊解の形は特性根との重なりに応じて $n$ を掛けて調整する(KT17 §9.4.2、pp. 194–198)。

母関数による解法

形式的冪級数 $A(x):=\sum_{n\ge0}a_nx^n$(数列の母関数)を使っても漸化式を解ける(KT17 §9.6、p. 202)。ex-rec-distinct-roots の数列では、漸化式により $n\ge2$ で $x^n$ の係数が消えるので、
$$ (1-5x+6x^2)A(x)=a_0+(a_1-5a_0)x=x $$
である。$1-5x+6x^2=(1-2x)(1-3x)$ は定数項が $1$ なので形式的冪級数の環で逆元をもち、
$$ A(x)=\frac{x}{(1-2x)(1-3x)}=\frac1{1-3x}-\frac1{1-2x}=\sum_{n\ge0}(3^n-2^n)x^n $$
となって、$a_n=3^n-2^n$ が再び得られる。部分分数への分解が、特性根ごとに解を分けることに対応している。$\chi(x)=x^k-c_1x^{k-1}-\cdots-c_k$ と、母関数の分母 $1-c_1x-\cdots-c_kx^k=x^k\chi(1/x)$ は、係数を逆順に並べた関係にある。

関連項目

参考文献

Mathpediaは寄付と、参考文献の書籍リンク(Amazonアソシエイト)の紹介料で運営されています。 支援について / 寄付する