从递推式到通项公式 特征方程学习笔记

参考文章

ruanxingzhi

引入

对于一些递推式,我们常常会有关于求数列某一项的问题,如果我们能推出其通项公式,那么问题就会变得更好解决,特征方程就是一个有力的工具。

相关定义及引理

我们定义对于数列 f n 递推关系 f n = w 0 + i = 1 k w i f n k + i 1 ( n > k )

我们给出两个引理:

引理1:对于一个 w 0 = 0 的递推式,若有数列 { a n } 满足递推关系,那么数列 { A a n } 也满足递推关系。

引理2:对于一个 w 0 = 0 的递推式,若有数列 { a n } { b n } 满足递推关系,那么数列 { a n + b n } 也满足递推关系

对于引理1的证明是比较简单的,既然 { a n } 满足 a n = i = 1 k w i a n k + i 1 ,那么我们在两边同乘上A,并把右边的A乘在f的系数之前即得证,即 A a n = i = 1 k w i A a n k + i 1 ( n > k )

引理2也比较好证。我们知道 a n = i = 1 k w i a n k + i 1 b n = i = 1 k w i b n k + i 1 ,左右分别相加再提取公因式,即 a n + b n = i = 1 k w i a n k + i 1 + i = 1 k w i b n k + i 1 = i = 1 k w i ( a n k + i 1 + b n k + i 1 )

所以如果我们有一些数列满足某递推关系,那么我们对其进行线性组合得到通项公式。一般地,我们认为k阶需要k个线性组合。

一次线性递推式

我们称形如 f n = A f n 1 + B 的递推式为一次线性递推式,即当k=1时。

怎么由它推导得出我们需要的通项公式呢,我们只需要用一个小trick就够了。

我们对这个数列进行偏移,得到一个等比数列 { f n + t } 。不妨令 f n + t = q ( f n 1 + t ) ,则 f n = q f n 1 + q t t

那么我们会得到两个方程:

(1) { q = A q t t = B

解之得
(2) { q = A t = B A 1

利用等比数列通项公式立知 f n = ( f 1 + t ) q n 1 t

但有人就会问了,如果 A = 1 呢?此时我们再看递推关系式,那不就是一个简单的等差数列吗。

特殊的二次线性递推式

我们称形如 f n = A f n 1 + B f n 2 + C 的递推式为二次线性递推式,即当k=2时。

我们先来看一个特殊的二次线性递推式,当C=0时,即有 f n = A f n 1 + B f n 2 。那么我们仍然希望做出一个偏移,使得这个序列能像一次一样处理。

不妨设 f n t f n 1 = q ( f n 1 t f n 2 )

f n = ( q + t ) f n 1 q t f n 2 ,同样的我们有

(3) { q + t = A q t = B

注意到这和韦达定理的形式是一样的,那么我们可以构造一个一元二次方程,这个方程恰好是 x 2 A x B = 0 。这就是这个递推式的特征方程。

从之前设的方程,我们知道一个以q为公比的等比数列满足该递推方程,那么现在我们解出了这两个可能的q值,我们可以这样表示通项公式 f n = A q 1 n 1 + B q 2 n 1 。再代入 f 1 , f 2 的值,就可以解出A和B。


但这里我们同样没有讨论到特殊的情况,也就是当这个一元二次方程有两个相同的根时。我们重新回到之前所设的递推式,则有 f n t f n 1 = t ( f n 1 t f n 2 )

则我们可以轻易地得到 f n = t f n 1 + ( f 2 t f 1 ) t n 2

再同时除以 t n 可得一个新数列

f n t n = f n 1 t n 1 + f 2 t f 1 t 2

我们容易知道

f n t n = f 1 t + f 2 t f 1 t 2 ( n 1 )

整理得 f n = [ ( 2 t f 1 f 2 ) + ( f 2 t f 1 ) n ] t n 2

但是一般地,我们认为这个表达式过于复杂,不如仍然设为 f n = ( A + B n ) t n 1 ,然后利用 f 1 , f 2 解之。

一般的二次线性递推式

上面说过了特殊情况,我们再来看一般的情况 f n = A f n 1 + B f n 2 + C

对于这样的一个递推关系,我们同样希望能化为上面特殊情况的形式,同样的套路。设 f n + t = A ( f n 1 + t ) + B ( f n 2 + t )

展开即得 ( A + B 1 ) t = C 。那么只需设 f n + t 为新的数列,就可以套用之前的方法解决了。

同样有一个问题,可能存在 A + B 1 = 0 的情况。

那么既然无法偏移,我们设 f n t f n 1 = q ( f n 1 t f n 2 ) + C

则相当于一个 g n = q g n 1 + C ,用一次线性递推式解决之。

猜你喜欢

转载自blog.csdn.net/as_a_kid/article/details/80426832