第零篇 数列递推
PartⅠ 一阶常系数线性齐次递推
若数列{an}满足以下形式:
an+1=pan+q(p=0)
其中p、q为给定的实数,数列首项为a1。
称这个数列满足一阶常系数线性齐次递推的形式。
这种数列的通项公式很容易求,可以分成两种情况:
1.
若p=1,则an+1=an+q,此时数列为一个公差为q的等差数列,容易推得:
an=a1+(n−1)q
2.
若p=1,则可以通过 待定系数法 来构造等比数列:假设存在一个系数A,使得an+1=pan+q可以写成an+1−A=p(an−A)的形式,这样做的目的是为了转换成一个等比数列的形式,之后就可以进行递推来求解数列通项。
将an+1−A=p(an−A)展开:an+1=pan+(1−p)A与an+1=pan+q对比,解出系数A=1−pq。
所以{an+1−1−pq}是首项为a1−1−pq,公比为q的等比数列,由等比数列递推公式(累乘):
an=an−1an×an−2an−1×⋯×a1a2×a1
可以推出:an−1−pq=(a1−1−pq)qn−1,进而求得:
an=(a1−1−pq)pn−1+1−pq
PartⅡ 二阶常系数线性齐次递推
若数列{xn}满足以下形式:
xn+1=pxn+qxn−1(p、q=0)
其中p、q为给定的实数,数列第一项和第二项分别为x1和x2。
称这个数列满足二阶常系数线性齐次递推的形式。
类比于一阶递推形式中构造等比数列的方法,我们还是尝试待定系数法构造这样的等比数列:
假设存在实数a、b,使得xn+1=pxn+qxn−1可以写成xn+1−axn=b(xn−axn−1),整理一下:xn+1=(a+b)xn−abxn−1,对比系数有:
\left\{
\begin{array}{2}
a+b=p \\ ab=-q
\end{array}
\right.
这个形式就非常像初中学过的一元二次方程,实数a、b是方程x2−px−q=0的解。
1.
方程解不相等(a=b)时:
所以{xn+1−axn}是公比为b的等比数列,由累乘得到:xn+1−axn=(x2−ax1)bn−1
xn+1−axn=b(xn−axn−1)还可以写成xn+1−bxn=a(xn−bxn−1)的形式,因此{xn+1−bxn}是公比为a的等比数列,累乘得到:xn+1−bxn=(x2−bx1)an−1
将累乘得到的两个式子相减有:
xn=a−bx2−bx1⋅an−1+b−ax2−ax1⋅bn−1
为了便于记忆,我们令\left\{\begin{array}{2} \alpha=\dfrac{x_2-bx_1}{a-b}\cdot\dfrac{1}{a}\\ \beta=\dfrac{x_2-ax_1}{b-a}\cdot\dfrac{1}{b}\end{array}\right.,所以xn=α⋅an+β⋅bn。
解题时只需要根据数列{xn}的递推公式写出相应的特征方程,得到解a、b,再根据x1、x2待定系数求解出α、β即可得到该数列通项公式。下面是一个例子:
Fibonacci数列是大家非常熟悉的一个数列,它满足这样的条件:a1=a2=1,an+1=an+an−1,求Fibonacci数列的通项公式。
由递推关系式:an+1=an+an−1得到特征方程:x2−x−1=0。
这个方程的解为:a=25+1,b=2−5+1
所以他的通项公式可以写成:xn=α⋅(25+1)n−1+β⋅(2−5+1)n−1
代入a1=a2=1,解出α=51,β=−51。
所以Fibonacci数列的通项为:$ x_n = \dfrac{1}{\sqrt{5}}\left[ \left( \dfrac{\sqrt{5}+1}{2} \right)^{n-1} - \left( \dfrac{-\sqrt{5}+1}{2} \right)^{n-1} \right]$
2.
方程解相等(a=b)时:
xn+1=pxn+qxn−1可以写成xn+1−bxn=b(xn−bxn−1),对{xn+1−bxn}这个数列进行累乘得:
xn+1−bxn=bn−1(x2−bx1)
两边同时除以bn+1有:
bn+1xn+1−bnxn=b2x2−bx1
这说明数列{bnxn}是一个等差数列,公差为b2x2−bx1。
由此可以求得:bnxn=(n−1)(b2x2−bx1)+bx1,
所以:xn=x1⋅bn−1+(x2−bx1)(n−1)⋅bn−2,
整理一下,xn=[(bx1−b2x2+b1)+(b−x1+b2−x2)n]bn。
同理我们可以令\left\{\begin{array}{2} \alpha=\dfrac{x_{1}}{b}-\dfrac{x_{2}}{b^2}+\dfrac{1}{b}\\ \beta=\dfrac{-x_{1}}{b}+\dfrac{-x_{2}}{b^2}\end{array}\right.,所以xn=(α+βn)⋅bn。
解题时只需要待定系数求出α、β即可得到通项公式。
PartⅢ 从递推到矩阵
上面都是低阶的问题,如果碰到更高阶的常系数线性齐次递推式子呢?由于是预备知识,在这里不详述,可以先看下面这一篇知乎上的文章↓:
二阶常系数齐次线性递推数列 - 知乎 (zhihu.com)