数列求和与递推式求解

求解递推式与数列求和方法汇总

1. 求和因子法 (Summation Factor)

① 一阶线性递推

若递推式形如:

\a_n \\bar{T}_n = b_n \\bar{T}_{n-1} + C_n \\

要求 \(\bar{T}_n\) 的封闭形式,可采用求和因子 (summation factor)

用 \(S_n\) 乘上两边:

\S_n a_n \\bar{T}_n = S_n b_n \\bar{T}_{n-1} + S_n C_n \\

取 \(S_n\) 满足:

\S_n b_n = S_{n-1} a_{n-1} \\

则转化为:

\S_n a_n \\bar{T}_n = S_{n-1} a_{n-1} \\bar{T}_{n-1} + S_n C_n \\

记 \(F_n = S_n a_n \bar{T}_n\),则有:

\F_n = F_{n-1} + S_n C_n \\

从而有:

\F_n = S_0 a_0 \\bar{T}_0 + \\sum_{k=1}\^n S_k C_k \\

即:

\\\bar{T}_n = \\frac{1}{S_n a_n} \\left( S_0 a_0 \\bar{T}_0 + \\sum_{k=1}\^n S_k C_k \\right) \\

下面来求解 \(S_n\):

由 \(S_n = \frac{S_{n-1} a_{n-1}}{b_n}\),于是有:

\S_n = k \\cdot \\frac{\\prod_{i=1}\^{n-1} a_{i-1}}{\\prod_{i=2}\^{n} b_i}, \\quad k \\text{为不等于0的常数} \\

eg1: 求解"快速排序"次数 \(C_n\)

\\\begin{cases} C_0 = C_1 = 0 \& \\text{①} \\\\ C_n = n+1 + \\frac{2}{n} \\sum_{k=0}\^{n-1} C_k \& \\text{②} \\end{cases} \\

其中 \(C_n\) 为"快速排序"平均比较次数。

先将 ② 中 \(n\) 乘开:

\nC_n = n\^2 + n + 2\\sum_{k=0}\^{n-1} C_k \\

向前差分得:

\nC_n - (n-1)C_{n-1} = 2n + 2C_{n-1} \\

\\\Rightarrow nC_n = (n+1)C_{n-1} + 2n \\quad (n\>2) \\

构造求和因子:

\S_n = \\frac{\\prod_{k=2}\^n k}{\\prod_{k=2}\^n (k+1)} = \\frac{2}{(n+1)n} \\

故 \(C_n\) 的通项公式推导(利用求和因子法结果):

\C_n = \\frac{n+1}{2} \\left( 2C_1 \\cdot \\frac{1}{2} + \\sum_{k=2}\^n \\frac{4}{k+1} \\right) - \\frac{2}{3}(n+1) \\

\= 2(n+1) \\sum_{k=2}\^n \\frac{1}{k+1} - \\frac{2}{3}(n+1) \\quad (n\>1) \\

Tip: \(-\frac{2}{3}(n+1)\) 是由 \(n=2\) 时特别讨论得到的修正项。

用调和级数 \(H_n\) 表示:

\C_n = 2(n+1)H_n - \\frac{8}{3}n - \\frac{2}{3} \\

其中 \(H_n = \sum_{k=1}^n \frac{1}{k}\)


2. 扰动法 (Perturbation Method)

格式:

\S_n + a_{n+1} = S_{n+1} = a_0 + \\sum_{k=1}\^{n+1} a_k \\

Tip: 移项得到 \(S_{n+1} - S_n = a_{n+1}\),即 \(S_n\) 的向前差分。

eg2: 求几何级数 \(G_n = \sum_{k=0}^n ax^k\) 的封闭形式。

\G_n + ax\^{n+1} = G_{n+1} = ax\^0 + \\sum_{k=0}\^n ax\^{k+1} = a + xG_n \\

提有 \(G_n\):

\G_n(1-x) = a - ax\^{n+1} \\

\G_n = \\frac{a - ax\^{n+1}}{1-x} \\


3. 归纳法

如对 \(\sum_{k=0}^n k^2\) 求和:

若猜测出答案为 \(\frac{n(n+\frac{1}{2})(n+1)}{3}\),对其归纳:

设 \(S_n = \sum_{k=0}^n k^2\),验证 \(S_{n+1}\) 满足通项。

\S_n = S_{n-1} + n\^2 \\

\\\iff 3S_n = (n\^3 - \\frac{3}{2}n\^2 + \\frac{1}{2}n) + 3n\^2 = n(n+\\frac{1}{2})(n+1) \\

故上式成立。


4. 待定系数法

已知 \(S_n = \sum_{i=0}^n i^2\)。

知 \(S_n\) 一定为三次多项式。

不妨设 \(S_n = \alpha n^3 + \beta n^2 + \gamma n + \lambda\)。

带入前四项求解方程组即可定出系数。


5. 利用积分 (近似与误差分析)

已知 \(S_n = \sum_{k=0}^n k^2\)。

知 \(\int_0^n x^2 dx = \frac{n^3}{3}\)。

记误差数列 \(E_n = S_n - \frac{1}{3}n^3\):

\E_n = S_{n-1} + n\^2 - \\frac{1}{3}n\^3 \\

\= (E_{n-1} + \\frac{1}{3}(n-1)\^3) + n\^2 - \\frac{1}{3}n\^3 \\

\= E_{n-1} + n - \\frac{1}{3} \\

故 \(E_n\) 满足递推 \(E_n = E_{n-1} + n - \frac{1}{3}\)。

\E_n - E_0 = \\sum_{i=1}\^n i - \\sum_{i=1}\^n \\frac{1}{3} = \\frac{n(n+1)}{2} - \\frac{1}{3}(n) \\

(注:笔记中此处略有简略,核心思想是将高阶求和降阶)

\(\therefore S_n = E_n + \frac{1}{3}n^3 = \frac{n(n+1)(2n+1)}{6}\)


6. 特征方程法

定义移位算子 \(E\) (\(Ea_n = a_{n+1}\))。

如对于递推式:

\a_n = c_1 a_{n-1} + c_2 a_{n-2} \\

可改写为 \(a_n (E^2 - c_1 E - c_2) = 0\) (注:此处笔记写法略有不严谨,标准写法应为算子作用于序列)。

令 \(P(x) = x^2 - c_1 x - c_2\)。

得 \(P(E)a_n = 0\)。

我们称 \(P(E)\) 为该递推式的零化多项式

由于 \(E(r^n) = r \cdot r^n = r^{n+1}\),

所以 \(\forall P\),都有 \(P(E)(r^n) = P(r) \cdot r^n\)。

故要使 \(P(E)(r^n) = 0\),则需 \(P(r) = 0\)。

故 \(a_n\) 可以表示为 \(r^n\) 的线性组合。

也可以从矩阵视角理解:

\\\begin{pmatrix} a_n \\\\ a_{n-1} \\end{pmatrix} = \\underbrace{\\begin{pmatrix} c_1 \& c_2 \\\\ 1 \& 0 \\end{pmatrix}}_{M} \\begin{pmatrix} a_{n-1} \\\\ a_{n-2} \\end{pmatrix} \\

故求通项即求 \(M^n\),即解 \(\det(M - \lambda I) = 0\)。

\\\begin{vmatrix} c_1 - \\lambda \& c_2 \\\\ 1 \& -\\lambda \\end{vmatrix} = \\lambda\^2 - c_1 \\lambda - c_2 = 0 \\

若 \(M\) 有两个不同特征值 \(\lambda_1, \lambda_2\),

则 \(M = P \cdot \text{diag}(\lambda_1, \lambda_2) \cdot P^{-1}\)。

其中 \(\text{diag}(\lambda_1, \lambda_2)\) 表示对角矩阵,

\(P, P^{-1}\) 分别表示特征向量矩阵和其逆。

故 \(a_n\) 可表示为 \(\lambda_1^n\) 和 \(\lambda_2^n\) 的线性组合。

若 \(M\) 有重根:

则 \(M\) 中含一个 \(m \times m\) 的 Jordan 块:

\J_2(\\lambda) = \\begin{pmatrix} \\lambda \& 1 \\\\ 0 \& \\lambda \\end{pmatrix} = \\lambda I + N \\

其中 \(N^m = 0\)。

由二项式定理知:

\J_2(\\lambda)\^n = (\\lambda I + N)\^n = \\sum_{j=0}\^n \\binom{n}{j} \\lambda\^{n-j} N\^j \\

\(\binom{n}{j}\) 是关于 \(n\) 的 \(j\) 次多项式。

故 \(J_2(\lambda)^n\) 的每个非零元素都形如 \(p(n)\lambda^n\)。

故可以写为:

\a_n = (A_0 + A_1 n)\\lambda\^n \\


7. 生成函数法 (Generating Functions)

对于无限数列 \(\{a_n\}\),其生成函数定义为:

\G(x) = \\sum_{i=0}\^{\\infty} a_i x\^i \\

若对于有限数列,记其最后一项之后的项全为0,即可转换为无限数列。

如求 \(a_n - c_1 a_{n-1} - c_2 a_{n-2} = 0\) 的通项:

记生成函数 \(G(x) = \sum_{i=0}^{\infty} a_i x^i\) ①

则:

\c_1 x G(x) = \\sum_{i=0}\^{\\infty} c_1 a_i x\^{i+1} = \\sum_{j=1}\^{\\infty} c_1 a_{j-1} x\^j \\quad \\text{②} \\

\c_2 x\^2 G(x) = \\sum_{i=0}\^{\\infty} c_2 a_i x\^{i+2} = \\sum_{j=2}\^{\\infty} c_2 a_{j-2} x\^j \\quad \\text{③} \\

① - ② - ③,得:

\G(x)(1 - c_1 x - c_2 x\^2) = a_0 + (a_1 - c_1 a_0)x \\

故:

\G(x) = \\frac{a_0 + (a_1 - c_1 a_0)x}{1 - c_1 x - c_2 x\^2} \\

设分母分解因式为 \((1-r_1 x)(1-r_2 x)\),接下来讨论 3 种情况:

① \(r_1 \neq r_2\)

分解为:

\G(x) = \\frac{C_1}{1-r_1 x} + \\frac{C_2}{1-r_2 x} \\

由级数公式 \(\frac{1}{1-rx} = \sum r^n x^n\) 知:

\G(x) = \\sum (C_1 r_1\^n + C_2 r_2\^n) x\^n \\

故 \(a_n = C_1 r_1^n + C_2 r_2^n\)。

② \(r_1 = r_2 = r\)

分解为:

\G(x) = \\frac{C_1}{1-rx} + \\frac{C_2}{(1-rx)\^2} \\

由级数公式 \(\frac{1}{(1-rx)^2} = \sum (n+1)r^n x^n\):

\G(x) = \\sum \[C_1 r\^n + C_2 (n+1)r\^n x^n \]

故 \(a_n = C_1 r^n + C_2 (n+1)r^n\)。

③ 共轭复根

设根为 \(\alpha \pm i\beta\)。

分解为:

\\\frac{C}{1-(\\alpha+i\\beta)x} + \\frac{\\overline{C}}{1-(\\alpha-i\\beta)x} \\

用 Euler 公式合并为:

\a_n = \\rho\^n (K_1 \\cos n\\theta + K_2 \\sin n\\theta) \\