特征根法是解决常系数齐次线性递推通项问题的通用做法。它十分普及,因为它简单好记。本文先简单介绍特征根法,然后给出几个证明。
齐次线性递推
我们先来看一下齐次线性递推的概念。我们定义 $k$ 阶的齐次线性递推应该长这个样子:
对任意 $n \in \mathbb{N}$,有 $a_{n+k} = c_1 a_{n+k-1} + c_2 a_{n+k-2} + \cdots + c_k a_n$ ,其中 $c_1 , c_2 , \cdots , c_k \in \mathbb{R}$
为了顺利推出每一项,这个递推还应该给出 $k$ 个初值 $a_0,a_1,a_2,\cdots,a_{k-1}$ 。
对了,在本文中,若未特别提及线性递推均为 $k$ 阶齐次线性递推。
特征根法
对于上面那个递推式,我们定义它的特征方程为:
$\lambda^k=c_1 \lambda^{k-1} +c_2 \lambda^{k-2} + \cdots + c_{k-1} \lambda +c_k$
这个方程有 $k$ 个根 $\lambda_1,\lambda_2,…,\lambda_k$ ,它们也许有些不是实数但没有关系。那么我们宣称数列 $\{a_n\}$ 的通项为
其中 $p_1,p_2,…,p_k$ 是待定的系数,通过把初值 $n=0,1,2,…,k-1$ 带入后,可以解出 $p_1,p_2,…,p_k$ 。
重根的情况
重根的情况相对复杂。打个比方,假设 $\lambda_1=\lambda_2=\lambda_3$ 的话。我们只需要把原来设的通项中的 $p_1\lambda_1^n+p_2\lambda_2^n+p_3\lambda_3^n$ 改为 $(p_1n^2+p_2n+p_3)\lambda_1^n$ 就好了。具体来说就是,如果某个根有 $m$ 个重根,就设一个 $m-1$ 次的多项式乘上这个根的 $n$ 次方,不明白的可以再看看上面的例子。
举个例子————斐波那契数列
斐波那契数列 $\{f_n\}$ 满足递推关系 $f_{n+2}=f_{n+1}+f_n$ ,且有初值 $f_0=0$,$f_1=1$ 。求它的通项当然可以通过构造等比数列或者求生成函数的方法来求,但在这里,特征根法是最简单的一种。