参考资料:《组合数学》
特征方程这个东西是用来求非齐次常数递推式的通项公式的,简单地说,就是:
有一数列 f f f, f [ 0.. ( k − 1 ) ] f[0..(k-1)] f[0..(k−1)]为定值;
对于 f [ i ] ( i > = k ) f[i](i>=k) f[i](i>=k),有 f [ i ] = ∑ j = 1 k f [ i − j ] ∗ b [ j ] f[i]=\sum_{j=1}^kf[i-j]*b[j] f[i]=∑j=1kf[i−j]∗b[j];
b [ j ] b[j] b[j]为常数;
那么 f [ i ] f[i] f[i]可以用 ∑ i = 1 k s [ i ] ∗ p [ i ] n \sum_{i=1}^k s[i]*p[i]^n ∑i=1ks[i]∗p[i]n的通项公式表示。
由于很多证明过程书上也没写,所以……
假设 f [ n ] f[n] f[n]是可以直接用一个 p n p^n pn来表示,则有:
s ∗ p n − ∑ j = 1 k s ∗ p n − j ∗ b [ j ] = 0 s*p^n-\sum_{j=1}^k s*p^{n-j}*b[j]=0 s∗pn−∑j=1ks∗pn−j∗b[j]=0
p n − ∑ j = 1 k p n − j ∗ b [ j ] = 0 p^n-\sum_{j=1}^k p^{n-j}*b[j]=0 pn−∑j=1kpn−j∗b[j]=0
p k − ∑ j = 1 k p k − j ∗ b [ j ] = 0 p^{k}-\sum_{j=1}^k p^{k-j}*b[j]=0 pk−∑j=1kpk−j∗b[j]=0
其实这就是一个k次的方程:
那么p一定为这个k次方程的根。
其实这个这个方程就叫做这个数列的特征方程。
最简单的情况:
特征方程有k个不同的根。
把这k个根设为 p 1 , p 2 , … , p k p1,p2,…,pk p1,p2,…,pk
若 f [ n ] = ∑ i = 1 k p [ i ] n ∗ s [ i ] f[n]=\sum_{i=1}^k p[i]^n*s[i] f[n]=∑i=1kp[i]n∗s[i]
其实我们可以根据初值列出关于s的方程:
p [ 1 ] 0 ∗ s [ 1 ] + p [ 2 ] 0 ∗ s [ 2 ] + … + p [ k ] 0 ∗ s [ k ] = F [ 0 ] p[1]^0*s[1]+p[2]^0*s[2]+…+p[k]^0*s[k]=F[0] p[1]0∗s[1]+p[2]0∗s[2]+…+p[k]0∗s[k]=F[0]
p [ 1 ] 1 ∗ s [ 1 ] + p [ 2 ] 1 ∗ s [ 2 ] + … + p [ k ] 1 ∗ s [ k ] = F [ 1 ] p[1]^1*s[1]+p[2]^1*s[2]+…+p[k]^1*s[k]=F[1] p[1]1∗s[1]+p[2]1∗s[2]+…+p[k]1∗s[k]=F[1]
… … …
p [ 1 ] k − 1 ∗ s [ 0 ] + p [ 2 ] k − 1 ∗ s [ 2 ] + … + p [ k ] k − 1 ∗ s [ k ] = F [ 1 ] p[1]^{k-1}*s[0]+p[2]^{k-1}*s[2]+…+p[k]^{k-1}*s[k]=F[1] p[1]k−1∗s[0]+p[2]k−1∗s[2]+…+p[k]k−1∗s[k]=F[1]
这是个范德蒙矩阵,范德蒙矩阵有解的条件就是 P P P互不相同。
所以特征方程有k个不同的根时我们一定能解出s,那么就得到了数列的通项公式。
如果 P P P有重复怎么办,设一个根 p p p重复了 c c c次,我们可以用 p , p ∗ n , p ∗ n 2 , … , p ∗ n c p,p*n,p*n^2,…,p*n^c p,p∗n,p∗n2,…,p∗nc去等效替代。
证明:
代填
斐波拉契数列的通项公式:
f [ 0 ] = 0 , f [ 1 ] = 1 , f [ i ] ( i > = 2 ) = f [ i − 1 ] + f [ i − 2 ] f[0]=0,f[1]=1,f[i](i>=2)=f[i-1]+f[i-2] f[0]=0,f[1]=1,f[i](i>=2)=f[i−1]+f[i−2]
特征方程为:
x 2 − x − 1 = 0 x^2-x-1=0 x2−x−1=0
该方程有两个不同的实数根:
p 1 = 1 + 5 2 , p 2 = 1 − 5 2 p1={1 + \sqrt 5\over 2},p2={1-\sqrt 5\over 2} p1=21+5,p2=21−5
代入 f [ 0 ] 、 f [ 1 ] f[0]、f[1] f[0]、f[1],可得方程:
p 1 0 s 1 + p 2 0 s 2 = 0 p1^0s1+p2^0s2=0 p10s1+p20s2=0
p 1 1 s 1 + p 2 1 s 2 = 1 p1^1s1+p2^1s2=1 p11s1+p21s2=1
解得:
s 1 = 5 , s 2 = − 5 s1=\sqrt 5,s2=-\sqrt5 s1=5,s2=−5
∴ f [ n ] = 1 5 ( ( 1 + 5 2 ) n − ( 1 − 5 2 ) n ) f[n]={1\over \sqrt 5}({({1 + \sqrt 5\over 2})^n-({1-\sqrt 5\over 2})^n}) f[n]=51((21+5)n−(21−5)n)