4 連立漸化式

次に、連立の定数係数線形漸化式について考えてみる。

例えば、フィボナッチ数列の 2 つの解

\begin{displaymath}
b^{(0)}_n=\lambda_0^n=\left(\frac{1+\sqrt{5}}{2}\right)^n,\h...
...1zw}
b^{(1)}_n=\lambda_1^n=\left(\frac{1-\sqrt{5}}{2}\right)^n
\end{displaymath}

には、$\sqrt{5}$ が含まれているが、 これらを展開すればいずれも有理数と $\sqrt{5}$ の有理数倍の和で書ける。 実際、二項定理により
\begin{displaymath}
b^{(0)}_n = x_n+y_n\sqrt{5},\hspace{1zw}
b^{(1)}_n = x_n-y_n\sqrt{5}\end{displaymath} (13)

($x_n$, $y_n$ は有理数) の形になることが容易にわかる。 この $x_n$, $y_n$ の満たす漸化式を考えてみよう。
\begin{displaymath}
b^{(0)}_{n+1}
= \left(\frac{1+\sqrt{5}}{2}\right)^{n+1}
= b^{(0)}_n\left(\frac{1+\sqrt{5}}{2}\right)
\end{displaymath}

であるから、
\begin{displaymath}
x_{n+1}+y_{n+1}\sqrt{5}
= (x_n+y_n\sqrt{5})\left(\frac{1+\sqrt{5}}{2}\right)
= \frac{x_n+5y_n}{2}+\frac{x_n+y_n}{2}\sqrt{5}
\end{displaymath}

となる。よって、
\begin{displaymath}
x_{n+1} =\frac{x_n+5y_n}{2},\hspace{1zw}
y_{n+1} =\frac{x_n+y_n}{2}\end{displaymath} (14)

となることがわかる。 これに $x_0$, $y_0$ を与えることで、 順次 $x_1$, $y_1$, $x_2$, $y_2$,...と数列の値が決まっていくことになる。

一般に、$N$ 次元列ベクトルの列

\begin{displaymath}
X_n=\left[\begin{array}{c}x^{(0)}_n\\ x^{(1)}_n\\ \vdots\\ x^{(N-1)}_n\end{array}\right]\hspace{1zw}(n=0,1,2,\ldots)
\end{displaymath}

と、成分が定数である $n\times n$ 行列 $A$ に対して、
\begin{displaymath}
X_{n+1}=AX_n\hspace{1zw}(n=0,1,2,\ldots)\end{displaymath} (15)

定数係数連立線形同次漸化式 と呼ぶ。(14) は、
\begin{displaymath}
A=\left[\begin{array}{cc}1/2 & 5/2\\ 1/2 & 1/2\end{array}\r...
...ace{1zw}
X_n=\left[\begin{array}{c}x_n\\ y_n\end{array}\right]\end{displaymath} (16)

の場合になっている。

(15) より、$X_n$ は、

\begin{displaymath}
X_1=AX_0,\hspace{1zw}X_2=AX_1=A^2X_0,\hspace{1zw}X_3=AX_2=A^3X_0,\hspace{1zw}\ldots
\end{displaymath}

のようになるから、一般に
\begin{displaymath}
X_n=A^nX_0\end{displaymath} (17)

と書けることがわかる。 よって、 この行列の $n$ 乗の $A^n$ を行列の対角化などを使って求めれば、 (17) によって一般項 $X_n$ が求まることになるが、 それは少し難しい。 一方で、(15) を 2, 3 節で 考察した単独の (連立でない) 線形同次漸化式に帰着させる方法もある。 ここではそちらの方を説明する。

行列 $A$ の固有方程式を

\begin{displaymath}
F(\lambda)=\vert\lambda E-A\vert = 0
\end{displaymath}

とすると、$F(\lambda)$$\lambda^N$ の係数が 1 の $N$ 次式になる。 この $F(\lambda)$
\begin{displaymath}
F(\lambda)=\sum_{j=0}^Nq_j\lambda^j\end{displaymath} (18)

と書く ($q_N=1$) と、良く知られているようにケーリー・ハミルトンの関係式
\begin{displaymath}
F(A) = \sum_{j=0}^Nq_jA^j = O\end{displaymath} (19)

(ただし、$A^0=E$) が成り立つ。 この両辺を右から $A^nX_0$ 倍すると
\begin{displaymath}
\sum_{j=0}^Nq_jA^{n+j}X_0 = O
\end{displaymath}

となるが、(17) よりこれは
\begin{displaymath}
\sum_{j=0}^Nq_jX_{n+j} = O
\end{displaymath}

と書ける。そしてこれは、 $X_{n}$ の成分 $\{x^{(j)}_n\}$ すべてが、同じ線形同次漸化式
\begin{displaymath}
\sum_{j=0}^Nq_jx_{n+j}
= x_{n+N}+q_{N-1}x_{n+N-1}+\cdots+q_0x_n=0\end{displaymath} (20)

を満たすことを意味している。

なお、この $q_0$ は、$F(\lambda)$ の定数項であるから、

\begin{displaymath}
q_0=F(0)=\vert-A\vert = (-1)^N\vert A\vert
\end{displaymath}

となっている。 よってこれが条件 (4) を満たすことは $\vert A\vert\neq 0$、 すなわち $A$ が正則であることと同値となる。 以下、$A$ は正則であるとして考える。

この場合は、3 節で見たように特性方程式により解が求まる。 (20) の特性方程式は、 (18) より固有方程式 $F(\lambda)=0$ 自体であるから、 つまり $A$ の固有方程式の解である固有値によって (20) の解が求まることになる。

それによる (20) の $N$ 個の一次独立な解を

\begin{displaymath}
\{\alpha^{(0)}_n\},\ \{\alpha^{(1)}_n\},\ \ldots,\ \{\alpha^{(N-1)}_n\}
\end{displaymath}

とし、
\begin{displaymath}
Y_n=\left[\begin{array}{c}\alpha^{(0)}_n\\ \alpha^{(1)}_n\\ \vdots\\ \alpha^{(N-1)}_n\end{array}\right]
\end{displaymath}

とすると、次が言える。


補題 3

$\{\alpha^{(j)}_n\}$ ( $j=0,1,\ldots,N-1$) が一次独立なら $n$ 次元列ベクトル $Y_0$, $Y_1$, ...$Y_{N-1}$ も一次独立。


証明

$Y_0$, $Y_1$, ...$Y_{N-1}$ が一次独立でないとすれば、 $n\times n$ 行列

\begin{displaymath}[Y_0\ Y_1\ \cdots\ Y_{N-1}]
\end{displaymath}

の行列式の値は 0 となる。よって、この行列の行ベクトル $Z_0$, $Z_1$, ..., $Z_{N-1}$ も一次独立ではないことになる。 ここで、
\begin{displaymath}
Z_j=[\alpha^{(j)}_0\ \alpha^{(j)}_1\ \cdots \ \alpha^{(j)}_{N-1}]
\end{displaymath}

であるから、これらが一次従属ならば、
\begin{displaymath}
(d_0,d_1,\ldots,d_{N-1})\neq (0,0,\ldots,0)
\end{displaymath} (21)

である定数 $d_j$ に対して、
\begin{displaymath}
d_0Z_0+d_1Z_1+\cdots+d_{N-1}Z_{N-1}=O
\end{displaymath}

と書けることになる。成分で見ればこれは、
\begin{displaymath}
\sum_{j=0}^{N-1}d_j \alpha^{(j)}_k
=d_0\alpha^{(0)}_k+d_1\alpha^{(1)}_k+\cdots+d_{N-1}\alpha^{(N-1)}_k
=0
\end{displaymath} (22)

$k=0,1,\ldots N-1$ に対して成り立つことを意味する。 (20) を考えれば、この (22) は $k\geq N$ に対しても成り立つことになる。 例えば $k=N$ に対しては、
\begin{displaymath}
\sum_{j=0}^{N-1}d_j a^{(j)}_N
=
\sum_{j=0}^{N-1}d_j \left...
...m=0}^{N-1}q_m\left(\sum_{j=0}^{N-1}d_j a^{(j)}_m\right)
=
0
\end{displaymath}

が (22) から言える。以下同様である。 そして (21) と (22) は、 $\{\alpha^{(j)}_n\}$ ( $j=0,1,\ldots,N-1$) が一次従属であることを意味する。


$\{\alpha^{(j)}_n\}$ ( $j=0,1,\ldots,N-1$) は、 (20) の $N$ 個の一次独立な解であるから、 命題 1 によって $X_{n}$ の成分 $\{x^{(k)}_n\}$ はそれらの 一次結合で表される。よって、

\begin{displaymath}
x^{(k)}_n = \sum_{j=0}^{N-1}c_{k,j}\alpha^{(j)}_n
\end{displaymath}

のようになるので、 これにより $X_n$ はこの係数による行列 $C=[c_{k,j}]$$Y_n$ により
\begin{displaymath}
X_n=CY_n\hspace{1zw}(C=[c_{k,j}])\end{displaymath} (23)

と書けることになる。後は、この係数行列 $C$ を初期値から決めればよい。 すなわち、$C$$X_0$$A$ を用いて表せばよいことになる。 (23) の $n=0,1,\ldots,N-1$ の式を行列にまとめて書けば、
\begin{displaymath}[X_0\ X_1\ \cdots\ X_{N-1}]=C[Y_0\ Y_1\ \cdots\ Y_{N-1}]
\end{displaymath}

となるが、補題 3 より 行列 $[Y_0\ Y_1\ \cdots\ Y_{N-1}]$ は正則であり、 また (17) を用いて左辺を書き直せば、結局 $C$
\begin{displaymath}
C=[X_0\ AX_0\ \cdots\ A^{N-1}X_0][Y_0\ Y_1\ \cdots\ Y_{N-1}]^{-1}\end{displaymath} (24)

と書けることになる。 この (23) と (24) により、 行列 $A$$n$ 乗の計算をせずに連立漸化式の解が求められることになる。

例として、今の方法を (14) に適用してみる。 初期値は、題意より $x_0=1$, $y_0=0$ とする。 この場合、$A$ は (16) より、固有方程式は

\begin{displaymath}
\vert\lambda A-E\vert
=\left\vert\begin{array}{cc}\lambda-1/...
...array}\right\vert
=(\lambda-1/2)^2-5/4
=\lambda^2-\lambda-1
=0
\end{displaymath}

となって、結局フィボナッチ数列の特性方程式と同じになる。 よって、一次独立な二つの解は
\begin{displaymath}
\lambda_0^n=\left(\frac{1+\sqrt{5}}{2}\right)^n,\hspace{1zw}
\lambda_1^n=\left(\frac{1-\sqrt{5}}{2}\right)^n
\end{displaymath}

であり、よって
\begin{displaymath}
x_n=a\lambda_0^n+b\lambda_1^n,\hspace{1zw}
y_n=c\lambda_0^n+d\lambda_1^n
\end{displaymath}

つまり、
\begin{displaymath}
\left[\begin{array}{c}x_n\\ y_n\end{array}\right]=\left[\beg...
...ft[\begin{array}{c}\lambda_0^n\\ \lambda_1^n\end{array}\right]
\end{displaymath}

と書ける。この係数行列を求めるには、$n=0$, $n=1$ を考えれば、
\begin{displaymath}
\left[\begin{array}{c}x_0\\ y_0\end{array}\right]=\left[\beg...
...rray}\right]=\left[\begin{array}{c}1/2\\ 1/2\end{array}\right]
\end{displaymath}

より、
\begin{displaymath}
\left[\begin{array}{cc}1&1/2\\ 0&1/2\end{array}\right]
=\lef...
...t[\begin{array}{cc}1&\lambda_0\\ 1&\lambda_1\end{array}\right]
\end{displaymath}

となるので、
\begin{eqnarray*}\left[\begin{array}{cc}a&b\\ c&d\end{array}\right]
&=&
\left...
...\left[\begin{array}{cc}\sqrt{5}&\sqrt{5}\\ 1&-1\end{array}\right]\end{eqnarray*}


より、結局、
\begin{displaymath}
\left[\begin{array}{c}x_n\\ y_n\end{array}\right]
=
\frac{1}...
...le \frac{\lambda_0^n-\lambda_1^n}{2\sqrt{5}}\end{array}\right]
\end{displaymath}

となる。

$x_n$ は、$x_0=1$, $x_1=1/2$ に対するフィボナッチ数列の解、 $y_n$$y_0=0$, $y_1=1/2$ に対するフィボナッチ数列の解となっていて、 これらは 2 節の最後の $a^{(0)}_n$, $a^{(1)}_n$ を用いれば、

\begin{displaymath}
x_n = a^{(0)}_n+\frac{1}{2}a^{(1)}_n,\hspace{1zw}
y_n = \frac{1}{2}a^{(1)}_n
\end{displaymath}

と書けることもわかる。

なお、この最後の $y_n$$a^{(1)}_n$ ($=$ 元々のフィボナッチ数列 $a_n$) との関係は、(13) からもわかる。すなわち、 (2) および (13) より、

\begin{displaymath}
a_n = a^{(1)}_n
= \frac{1}{\sqrt{5}}(b^{(0)}_n-b^{(1)}_n)
= \frac{1}{\sqrt{5}}2y_n\sqrt{5}
=2y_n
\end{displaymath}

だからである。つまり、元のフィボナッチ数列の値は、 $\lambda_0^n$$\sqrt{5}$ の係数である有理数の 2 倍であることになる。

さらに、(9) より、 $a^{(0)}_n=a_{n-1}$ であるから、

\begin{displaymath}
x_n=a_{n-1}+\frac{1}{2}a_n,\hspace{1zw}y_n=\frac{1}{2}a_n
\end{displaymath}

となり、そして $\lambda_0^n = x_n+y_n\sqrt{5}$ は フィボナッチ数列 $a_n$ を用いて
\begin{displaymath}
\lambda_0^n
=\left(\frac{1+\sqrt{5}}{2}\right)^n
=\left(a_{n...
...5}
=\left(a_{n+1}-\frac{1}{2}a_n\right)+\frac{1}{2}a_n\sqrt{5}
\end{displaymath}

と書けることになる。

竹野茂治@新潟工科大学
2009年8月5日