1. 更简单的状态转移方程
我们知道,斐波那契数列的状态转移方程为:
F i b ( n ) = F i b ( n − 1 ) + F i b ( n − 2 ) Fib(n) = Fib(n-1) + Fib(n-2) Fib(n)=Fib(n−1)+Fib(n−2)
其中,
F
i
b
(
n
)
Fib(n)
Fib(n)表示第
n
n
n个斐波那契数。
但是这个状态转移方程是由前2个状态推导的,为了从前1个状态推导,应该把两个斐波那契数列错位排列:
{Fib11}: 1 1 2 3 5 8 13 21 34 55 ...
{Fib12}: 1 2 3 5 8 13 21 34 55 89 ...
这样,我们可以得到:
F i b 11 ( n ) = F i b 12 ( n − 1 ) F i b 12 ( n ) = F i b 11 ( n ) + F i b 11 ( n − 1 ) = F i b 12 ( n − 1 ) + F i b 11 ( n − 1 ) \quad Fib_{11}(n) = Fib_{12}(n-1) \\ \quad Fib_{12}(n) = Fib_{11}(n) + Fib_{11}(n-1) = Fib_{12}(n-1) + Fib_{11}(n-1) Fib11(n)=Fib12(n−1)Fib12(n)=Fib11(n)+Fib11(n−1)=Fib12(n−1)+Fib11(n−1)
这个状态转移方程就可以直接由上一个状态推导出来,而不需要前两个状态。
2. 状态转移方程的矩阵形式
我们可以把状态转移方程写成矩阵形式:
[ F i b ( n ) F i b ( n − 1 ) ] = [ 1 1 1 0 ] [ F i b ( n − 1 ) F i b ( n − 2 ) ] \begin{bmatrix} Fib(n) \\ Fib(n-1) \end{bmatrix} = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} Fib(n-1) \\ Fib(n-2) \end{bmatrix} [Fib(n)Fib(n−1)]=[1110][Fib(n−1)Fib(n−2)]
令:
A = [ 1 1 1 0 ] f 1 = [ 1 1 ] \quad A = \begin{bmatrix} 1 & 1 \\ 1 & 0 \end{bmatrix} \quad \mathbf{f_1} = \begin{bmatrix} 1 \\ 1 \end{bmatrix} A=[1110]f1=[11]
则:
[ F i b ( n ) F i b ( n − 1 ) ] = A n − 1 f 1 \begin{bmatrix} Fib(n) \\ Fib(n-1) \end{bmatrix} = A^{n-1} \mathbf{f_1} [Fib(n)Fib(n−1)]=An−1f1
很容易发现:
f 1 = A [ 1 0 ] \mathbf{f_1} = A \begin{bmatrix} 1 \\ 0 \end{bmatrix} f1=A[10]
所以:
f 0 = [ 1 0 ] f n = [ F i b ( n ) F i b ( n − 1 ) ] = A n f 0 \quad \mathbf{f_0} = \begin{bmatrix} 1 \\ 0 \end{bmatrix} \\ \quad \mathbf{f_n} = \begin{bmatrix} Fib(n) \\ Fib(n-1) \end{bmatrix} = A^n \mathbf{f_0} f0=[10]fn=[Fib(n)Fib(n−1)]=Anf0
3. 矩阵的对角化
现在需要把矩阵 A A A对角化,即找到一个矩阵 P P P,使得:
P − 1 A P = [ λ 1 0 0 λ 2 ] = Λ P^{-1} A P = \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} = \Lambda P−1AP=[λ100λ2]=Λ
则:
A n = P Λ n P − 1 A^n = P \Lambda^n P^{-1} An=PΛnP−1
3.1 特征值和特征向量
令:
∣ A − λ I ∣ = 0 \left | A - \lambda I \right | = 0 ∣A−λI∣=0
解得:
λ 1 = 1 + 5 2 , λ 2 = 1 − 5 2 Λ = [ λ 1 0 0 λ 2 ] \lambda_1 = \frac{1 + \sqrt{5}}{2} , \quad \lambda_2 = \frac{1 - \sqrt{5}}{2} \\ \Lambda = \begin{bmatrix} \lambda_1 & 0 \\ 0 & \lambda_2 \end{bmatrix} λ1=21+5,λ2=21−5Λ=[λ100λ2]
对于 A x 1 = λ 1 x 1 , A x 2 = λ 2 x 2 A \mathbf{x_1} = \lambda_1 \mathbf{x_1}, \quad A \mathbf{x_2} = \lambda_2 \mathbf{x_2} Ax1=λ1x1,Ax2=λ2x2,解得:
x 1 = [ 1 + 5 2 1 ] , x 2 = [ 1 − 5 2 1 ] P = [ 1 + 5 2 1 − 5 2 1 1 ] P − 1 = 1 5 [ 1 − 1 − 5 2 − 1 1 + 5 2 ] \mathbf{x_1} = \begin{bmatrix} \frac{1 + \sqrt{5}}{2} \\ 1 \end{bmatrix} , \quad \mathbf{x_2} = \begin{bmatrix} \frac{1 - \sqrt{5}}{2} \\ 1 \end{bmatrix} \\ \quad P = \begin{bmatrix} \frac{1 + \sqrt{5}}{2} & \frac{1 - \sqrt{5}}{2} \\ 1 & 1 \end{bmatrix} \\ \quad P^{-1} = \frac{1}{\sqrt{5}} \begin{bmatrix} 1 & -\frac{1 - \sqrt{5}}{2} \\ -1 & \frac{1 + \sqrt{5}}{2} \end{bmatrix} x1=[21+51],x2=[21−51]P=[21+5121−51]P−1=51[1−1−21−521+5]
3.2 矩阵的对角化
A n = P Λ n P − 1 = 1 5 [ 1 + 5 2 1 − 5 2 1 1 ] [ ( 1 + 5 2 ) n 0 0 ( 1 − 5 2 ) n ] [ 1 − 1 − 5 2 − 1 1 + 5 2 ] A^n = P \Lambda^n P^{-1} = \frac{1}{\sqrt{5}} \begin{bmatrix} \frac{1 + \sqrt{5}}{2} & \frac{1 - \sqrt{5}}{2} \\ 1 & 1 \end{bmatrix} \begin{bmatrix} \left( \frac{1 + \sqrt{5}}{2} \right)^n & 0 \\ 0 & \left( \frac{1 - \sqrt{5}}{2} \right)^n \end{bmatrix} \begin{bmatrix} 1 & -\frac{1 - \sqrt{5}}{2} \\ -1 & \frac{1 + \sqrt{5}}{2} \end{bmatrix} An=PΛnP−1=51[21+5121−51] (21+5)n00(21−5)n [1−1−21−521+5]
4. 通项公式的推导
[ F i b ( n ) F i b ( n − 1 ) ] = A n f 0 = 1 5 [ 1 + 5 2 1 − 5 2 1 1 ] [ ( 1 + 5 2 ) n 0 0 ( 1 − 5 2 ) n ] [ 1 − 1 − 5 2 − 1 1 + 5 2 ] [ 1 0 ] \begin{bmatrix} Fib(n) \\ Fib(n-1) \end{bmatrix} = A^{n} \mathbf{f_0} = \frac{1}{\sqrt{5}} \begin{bmatrix} \frac{1 + \sqrt{5}}{2} & \frac{1 - \sqrt{5}}{2} \\ 1 & 1 \end{bmatrix} \begin{bmatrix} \left( \frac{1 + \sqrt{5}}{2} \right)^n & 0 \\ 0 & \left( \frac{1 - \sqrt{5}}{2} \right)^n \end{bmatrix} \begin{bmatrix} 1 & -\frac{1 - \sqrt{5}}{2} \\ -1 & \frac{1 + \sqrt{5}}{2} \end{bmatrix} \begin{bmatrix} 1 \\ 0 \end{bmatrix} [Fib(n)Fib(n−1)]=Anf0=51[21+5121−51] (21+5)n00(21−5)n [1−1−21−521+5][10]
化简得:
F i b ( n ) = 1 5 ( ( 1 + 5 2 ) n − ( 1 − 5 2 ) n ) Fib(n) = \frac{1}{\sqrt{5}} \left( \left( \frac{1 + \sqrt{5}}{2} \right)^{n} - \left( \frac{1 - \sqrt{5}}{2} \right)^{n} \right) Fib(n)=51((21+5)n−(21−5)n)