第零篇 数列递推

PartⅠ 一阶常系数线性齐次递推

​ 若数列{an}\{a_n\}满足以下形式:

an+1=pan+q(p0)a_{n+1}=pa_n+q\quad(p\neq0)

​ 其中pqp、q为给定的实数,数列首项为a1a_1

​ 称这个数列满足一阶常系数线性齐次递推的形式。

​ 这种数列的通项公式很容易求,可以分成两种情况:

1.p=1p=1,则an+1=an+qa_{n+1}=a_{n}+q,此时数列为一个公差为qq的等差数列,容易推得:

an=a1+(n1)qa_n=a_1+(n-1)q

2.p1p\neq1,则可以通过 待定系数法 来构造等比数列:假设存在一个系数AA,使得an+1=pan+qa_{n+1}=pa_n+q可以写成an+1A=p(anA)a_{n+1}-A=p(a_n-A)的形式,这样做的目的是为了转换成一个等比数列的形式,之后就可以进行递推来求解数列通项。

​ 将an+1A=p(anA)a_{n+1}-A=p(a_n-A)展开:an+1=pan+(1p)Aa_{n+1}=pa_n+(1-p)Aan+1=pan+qa_{n+1}=pa_n+q对比,解出系数A=q1pA=\dfrac{q}{1-p}

​ 所以{an+1q1p}\left\{a_{n+1}-\dfrac{q}{1-p}\right\}是首项为a1q1pa_1-\dfrac{q}{1-p},公比为qq的等比数列,由等比数列递推公式(累乘):

an=anan1×an1an2××a2a1×a1a_n=\dfrac{a_n}{a_{n-1}}\times\dfrac{a_{n-1}}{a_{n-2}}\times\cdots\times\dfrac{a_2}{a_{1}}\times{a_1}

​ 可以推出:anq1p=(a1q1p)qn1a_n-\dfrac{q}{1-p}=\left(a_1-\dfrac{q}{1-p}\right)q^{n-1},进而求得:

an=(a1q1p)pn1+q1pa_n=\left(a_1-\dfrac{q}{1-p}\right)p^{n-1}+\dfrac{q}{1-p}

PartⅡ 二阶常系数线性齐次递推

​ 若数列{xn}\{x_n\}满足以下形式:

xn+1=pxn+qxn1(pq0)x_{n+1}=px_{n}+qx_{n-1}\quad(p、q\neq0)

​ 其中pqp、q为给定的实数,数列第一项和第二项分别为x1x_1x2x_2

​ 称这个数列满足二阶常系数线性齐次递推的形式。

​ 类比于一阶递推形式中构造等比数列的方法,我们还是尝试待定系数法构造这样的等比数列:

​ 假设存在实数aba、b,使得xn+1=pxn+qxn1x_{n+1}=px_{n}+qx_{n-1}可以写成xn+1axn=b(xnaxn1)x_{n+1}-ax_{n}=b(x_{n}-ax_{n-1}),整理一下:xn+1=(a+b)xnabxn1x_{n+1}=(a+b)x_{n}-abx_{n-1},对比系数有:

\left\{ \begin{array}{2} a+b=p \\ ab=-q \end{array} \right.

​ 这个形式就非常像初中学过的一元二次方程,实数aba、b是方程x2pxq=0x^2-px-q=0的解。

1.方程解不相等(ab)(a\neq b)时:

​ 所以{xn+1axn}\{x_{n+1}-ax_n\}是公比为bb的等比数列,由累乘得到:xn+1axn=(x2ax1)bn1x_{n+1}-ax_n=(x_2-ax_1)b^{n-1}

xn+1axn=b(xnaxn1)x_{n+1}-ax_{n}=b(x_{n}-ax_{n-1})还可以写成xn+1bxn=a(xnbxn1)x_{n+1}-bx_{n}=a(x_{n}-bx_{n-1})的形式,因此{xn+1bxn}\{x_{n+1}-bx_n\}是公比为aa的等比数列,累乘得到:xn+1bxn=(x2bx1)an1x_{n+1}-bx_n=(x_2-bx_1)a^{n-1}

​ 将累乘得到的两个式子相减有:

xn=x2bx1aban1+x2ax1babn1x_n=\dfrac{x_2-bx_1}{a-b}\cdot a^{n-1}+\dfrac{x_2-ax_1}{b-a}\cdot b^{n-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+βbnx_n = \alpha \cdot a^{n}+\beta\cdot b^{n}

​ 解题时只需要根据数列{xn}\{x_n\}的递推公式写出相应的特征方程,得到解aba、b,再根据x1x2x_1、x_2待定系数求解出αβ\alpha、\beta即可得到该数列通项公式。下面是一个例子:

FibonacciFibonacci数列是大家非常熟悉的一个数列,它满足这样的条件:a1=a2=1a_1=a_2=1an+1=an+an1a_{n+1}=a_n+a_{n-1},求FibonacciFibonacci数列的通项公式。

​ 由递推关系式:an+1=an+an1a_{n+1}=a_n+a_{n-1}得到特征方程:x2x1=0x^2-x-1=0

​ 这个方程的解为:a=5+12a=\dfrac{\sqrt5+1}{2}b=5+12b=\dfrac{-\sqrt5+1}{2}

​ 所以他的通项公式可以写成:xn=α(5+12)n1+β(5+12)n1x_n = \alpha \cdot \left( \dfrac{\sqrt{5}+1}{2} \right)^{n-1} + \beta \cdot \left( \dfrac{-\sqrt{5}+1}{2} \right)^{n-1}

​ 代入a1=a2=1a_1=a_2=1,解出α=15\alpha=\dfrac{1}{\sqrt5}β=15\beta=-\dfrac{1}{\sqrt5}

​ 所以FibonacciFibonacci数列的通项为:$ 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)(a=b)时:

xn+1=pxn+qxn1x_{n+1}=px_{n}+qx_{n-1}可以写成xn+1bxn=b(xnbxn1)x_{n+1}-bx_{n}=b(x_{n}-bx_{n-1}),对{xn+1bxn}\{x_{n+1}-bx_n\}​这个数列进行累乘得:

xn+1bxn=bn1(x2bx1)x_{n+1}-bx_n=b^{n-1}(x_2-bx_1)

​ 两边同时除以bn+1b^{n+1}有:

xn+1bn+1xnbn=x2b2x1b\dfrac{x_{n+1}}{b^{n+1}}-\dfrac{x_{n}}{b^{n}}=\dfrac{x_{2}}{b^2}-\dfrac{x_1}{b}

​ 这说明数列{xnbn}\left\{\dfrac{x_{n}}{b^{n}}\right\}是一个等差数列,公差为x2b2x1b\dfrac{x_{2}}{b^2}-\dfrac{x_1}{b}

​ 由此可以求得:xnbn=(n1)(x2b2x1b)+x1b\dfrac{x_{n}}{b^{n}}=(n-1)\left(\dfrac{x_{2}}{b^{2}}-\dfrac{x_{1}}{b}\right)+\dfrac{x_{1}}{b}

​ 所以:xn=x1bn1+(x2bx1)(n1)bn2x_n=x_1 \cdot b^{n-1}+(x_2-bx_1)(n-1)\cdot b^{n-2}

​ 整理一下,xn=[(x1bx2b2+1b)+(x1b+x2b2)n]bnx_n=\left[\left(\dfrac{x_{1}}{b}-\dfrac{x_{2}}{b^2}+\dfrac{1}{b}\right)+\left(\dfrac{-x_{1}}{b}+\dfrac{-x_{2}}{b^2}\right)n\right]b^n

​ 同理我们可以令\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)bnx_n=(\alpha+\beta n)\cdot b^n

​ 解题时只需要待定系数求出αβ\alpha、\beta即可得到通项公式。

PartⅢ 从递推到矩阵

​ 上面都是低阶的问题,如果碰到更高阶的常系数线性齐次递推式子呢?由于是预备知识,在这里不详述,可以先看下面这一篇知乎上的文章↓:

二阶常系数齐次线性递推数列 - 知乎 (zhihu.com)