2.3 和式的处理
和式处理的目标是将一个求和表达式 ∑\sum∑ 变换为另一个更简单或更接近目标的形式。
2.3.1 三大法则
设 KKK 是任意一个有限整数集合,则对 KKK 中元素的和式可以应用以下三条基本法则进行变换。
(1) 分配律
∑k∈Kcak=c∑k∈Kak(2.15)
\sum_{k \in K} c a_k = c \sum_{k \in K} a_k \tag{2.15}
k∈K∑cak=ck∈K∑ak(2.15)
其中 ccc 为常数。该法则允许我们将常数因子移入或移出求和号。
(2) 结合律
∑k∈K(ak+bk)=∑k∈Kak+∑k∈Kbk
\sum_{k \in K} (a_k + b_k) = \sum_{k \in K} a_k + \sum_{k \in K} b_k
k∈K∑(ak+bk)=k∈K∑ak+k∈K∑bk
此法则允许我们将一个和式拆分为两个和式的和,或将两个和式合并为一个。
(3) 交换律
∑k∈Kak=∑p(k)∈Kap(k)(2.17)
\sum_{k \in K} a_k = \sum_{p(k) \in K} a_{p(k)} \tag{2.17}
k∈K∑ak=p(k)∈K∑ap(k)(2.17)
其中 p(k)p(k)p(k) 是所有整数的一个排列(permutation),即对于每个整数 nnn,恰好存在唯一的整数 kkk 使得 p(k)=np(k) = np(k)=n。
这一法则允许我们重新排列求和项的顺序。例如,若 K={−1,0,+1}K = \{-1, 0, +1\}K={−1,0,+1} 且 p(k)=−kp(k) = -kp(k)=−k,则有:
a−1+a0+a1=a1+a0+a−1
a_{-1} + a_0 + a_1 = a_1 + a_0 + a_{-1}
a−1+a0+a1=a1+a0+a−1
值得注意的是,交换律成立的前提是 p(k)p(k)p(k) 为双射。否则,变换可能不成立。
[!NOTE]
双射(bijection)是指一个函数同时满足单射(injective)和满射(surjective)的性质,即在定义域和值域之间建立一一对应关系。具体来说:
- 单射:不同的输入对应不同的输出,即若 x1≠x2x_1 \ne x_2x1=x2,则 f(x1)≠f(x2)f(x_1) \ne f(x_2)f(x1)=f(x2)。
- 满射:值域中的每一个元素都有至少一个原像,即对任意 yyy,存在 xxx 使得 f(x)=yf(x) = yf(x)=y。
当一个函数是双射时,它可逆,且每个元素恰好被映射一次。
在和式的变换中,交换律
∑k∈Kak=∑p(k)∈Kap(k) \sum_{k \in K} a_k = \sum_{p(k) \in K} a_{p(k)} k∈K∑ak=p(k)∈K∑ap(k)
要求 p(k)p(k)p(k) 是一个排列,即整数集合上的双射。只有在这种情况下,重排求和顺序才不会改变和式的值。下面给出两个案例,分别说明满足与不满足双射条件的情形。
案例一:满足双射的情形
设 K={0,1,2}K = \{0, 1, 2\}K={0,1,2},定义变换 p(k)=2−kp(k) = 2 - kp(k)=2−k,即:
- p(0)=2p(0) = 2p(0)=2
- p(1)=1p(1) = 1p(1)=1
- p(2)=0p(2) = 0p(2)=0
该映射将集合 KKK 映射到自身,且每个元素恰好出现一次。它是单射(无重复映射)且满射(覆盖所有元素),因此是双射。
于是可以安全使用交换律:
∑k∈{0,1,2}ak=a0+a1+a2=a2+a1+a0=∑k∈{0,1,2}a2−k \sum_{k \in \{0,1,2\}} a_k = a_0 + a_1 + a_2 = a_2 + a_1 + a_0 = \sum_{k \in \{0,1,2\}} a_{2-k} k∈{0,1,2}∑ak=a0+a1+a2=a2+a1+a0=k∈{0,1,2}∑a2−k这说明在双射条件下,和式可以自由重排。
案例二:不满足双射的情形
设 K={−1,0,1}K = \{-1, 0, 1\}K={−1,0,1},定义变换 p(k)=k2p(k) = k^2p(k)=k2,即:
- p(−1)=1p(-1) = 1p(−1)=1
- p(0)=0p(0) = 0p(0)=0
- p(1)=1p(1) = 1p(1)=1
此时有:
- p(−1)=p(1)=1p(-1) = p(1) = 1p(−1)=p(1)=1,说明不是单射(两个不同输入映射到同一输出)
- 值域为 {0,1}\{0, 1\}{0,1},而 −1-1−1 在值域中没有原像(若考虑反向映射),但更重要的是原映射存在重复
因此 p(k)=k2p(k) = k^2p(k)=k2 不是双射。
若强行代入和式变换:
∑k∈{−1,0,1}ak=a−1+a0+a1 \sum_{k \in \{-1,0,1\}} a_k = a_{-1} + a_0 + a_1 k∈{−1,0,1}∑ak=a−1+a0+a1
而
∑p(k)∈{−1,0,1}ap(k)=∑k2∈{−1,0,1}ak2 \sum_{p(k) \in \{-1,0,1\}} a_{p(k)} = \sum_{k^2 \in \{-1,0,1\}} a_{k^2} p(k)∈{−1,0,1}∑ap(k)=k2∈{−1,0,1}∑ak2
由于 k2k^2k2 只能取 000 或 111,且 k=−1k = -1k=−1 和 k=1k = 1k=1 都对应 a1a_1a1,所以实际计算为:
a(−1)2+a02+a12=a1+a0+a1=a0+2a1 a_{(-1)^2} + a_{0^2} + a_{1^2} = a_1 + a_0 + a_1 = a_0 + 2a_1 a(−1)2+a02+a12=a1+a0+a1=a0+2a1
结果与原和式不同,说明变换破坏了和式的值。因此,当 p(k)p(k)p(k) 不是双射时,交换律不成立。
综上,在和式变换中使用交换律时,必须确保变换函数 p(k)p(k)p(k) 在相关指标集上构成双射,否则可能导致错误结果。
三大法则的应用
高斯计算 1+2+⋯+n1 + 2 + \cdots + n1+2+⋯+n 的技巧,本质上是分配律、结合律与交换律的综合应用。
考虑一般等差级数的和:
S=∑0≤k≤n(a+bk)(2.18)
S = \sum_{0 \leq k \leq n} (a + bk) \tag{2.18}
S=0≤k≤n∑(a+bk)(2.18)
步骤1:应用交换律(倒序求和)
令 k′=n−kk' = n - kk′=n−k,这是整数集上的一个排列(对称变换),因此可应用交换律:
S=∑0≤k≤n(a+bk)=∑0≤n−k≤n(a+b(n−k))
S = \sum_{0 \leq k \leq n} (a + bk) = \sum_{0 \leq n-k \leq n} \left( a + b(n - k) \right)
S=0≤k≤n∑(a+bk)=0≤n−k≤n∑(a+b(n−k))
由于 0≤n−k≤n0 \leq n - k \leq n0≤n−k≤n 当且仅当 0≤k≤n0 \leq k \leq n0≤k≤n,所以:
S=∑0≤k≤n(a+bn−bk)
S = \sum_{0 \leq k \leq n} \left( a + bn - bk \right)
S=0≤k≤n∑(a+bn−bk)
步骤2:应用结合律(两式相加)
将原式与倒序式相加:
2S=∑0≤k≤n[(a+bk)+(a+bn−bk)]=∑0≤k≤n(2a+bn)
2S = \sum_{0 \leq k \leq n} \left[ (a + bk) + (a + bn - bk) \right] = \sum_{0 \leq k \leq n} (2a + bn)
2S=0≤k≤n∑[(a+bk)+(a+bn−bk)]=0≤k≤n∑(2a+bn)
注意到 bkbkbk 与 −bk-bk−bk 抵消,得到常数项和。
步骤3:应用分配律(提取常数)
2S=(2a+bn)∑0≤k≤n1=(2a+bn)(n+1)
2S = (2a + bn) \sum_{0 \leq k \leq n} 1 = (2a + bn)(n + 1)
2S=(2a+bn)0≤k≤n∑1=(2a+bn)(n+1)
两边除以 2:
S=(2a+bn)(n+1)2=(a+12bn)(n+1)
S = \frac{(2a + bn)(n + 1)}{2} = \left( a + \frac{1}{2}bn \right)(n + 1)
S=2(2a+bn)(n+1)=(a+21bn)(n+1)
即:
∑k=0n(a+bk)=(a+12bn)(n+1)(2.18)
\sum_{k=0}^{n} (a + bk) = \left( a + \frac{1}{2}bn \right)(n + 1) \tag{2.18}
k=0∑n(a+bk)=(a+21bn)(n+1)(2.18)
解释:平均值 × 项数
- 首项:a+b⋅0=aa + b \cdot 0 = aa+b⋅0=a
- 末项:a+b⋅n=a+bna + b \cdot n = a + bna+b⋅n=a+bn
- 平均值:12(a+(a+bn))=a+12bn\frac{1}{2}(a + (a + bn)) = a + \frac{1}{2}bn21(a+(a+bn))=a+21bn
- 项数:n+1n + 1n+1
因此,和 = (首项 + 末项)/ 2 × 项数,这正是等差数列求和公式的标准形式。
关键点:高斯技巧的本质是利用交换律进行变量替换(倒序),再用结合律将两个和式相加,最后用分配律提取常数,从而将非常数和转化为常数和。
[!NOTE]
等差数列求和公式
设等差数列的首项为 aaa,公差为 ddd,项数为 n+1n + 1n+1(从第 0 项到第 nnn 项),则其和为:
∑k=0n(a+kd)=(a+12dn)(n+1) \sum_{k=0}^{n} (a + kd) = \left( a + \frac{1}{2} d n \right)(n + 1) k=0∑n(a+kd)=(a+21dn)(n+1)
等价地,若记:
- 首项:a1=aa_1 = aa1=a
- 末项:an+1=a+nda_{n+1} = a + n dan+1=a+nd
- 项数:n+1n + 1n+1
则标准求和公式为:
∑k=0n(a+kd)=(首项+末项)×项数2=(a+(a+nd))2⋅(n+1) \sum_{k=0}^{n} (a + kd) = \frac{(首项 + 末项) \times 项数}{2} = \frac{(a + (a + n d))}{2} \cdot (n + 1) k=0∑n(a+kd)=2(首项+末项)×项数=2(a+(a+nd))⋅(n+1)
即:
S=(a1+an+1)2⋅(n+1) S = \frac{(a_1 + a_{n+1})}{2} \cdot (n + 1) S=2(a1+an+1)⋅(n+1)
这是等差数列求和的通用公式。
同时等价的表述形式为:
设等差数列的:
- 首项为 a1a_1a1
- 公差为 ddd
- 项数为 nnn
则前 nnn 项和 SnS_nSn 可表示为:
Sn=∑k=1nak=n2(a1+an)=na1+n(n−1)2d S_n = \sum_{k=1}^{n} a_k = \frac{n}{2} \left( a_1 + a_n \right) = n a_1 + \frac{n(n-1)}{2} d Sn=k=1∑nak=2n(a1+an)=na1+2n(n−1)d
其中,第nnn项(末项)为:
an=a1+(n−1)d a_n = a_1 + (n - 1)d an=a1+(n−1)d
条件的放宽
实际上,我们只需保证:当 n∈Kn \in Kn∈K 时,恰好存在一个整数 kkk 使得 p(k)=np(k) = np(k)=n。对于 n∉Kn \notin Kn∈/K 的情形,无论 p(k)=np(k) = np(k)=n 出现多少次,都不影响和式的值,因为这些项不在原求和范围内。
例如,由于对每个偶数 n∈Kn \in Kn∈K,存在唯一的 kkk 使得 2k=n2k = n2k=n,因此有:
∑k∈Kak=∑2k∈Ka2k(2.19)
\sum_{k \in K} a_k = \sum_{2k \in K} a_{2k} \tag{2.19}
k∈K∑ak=2k∈K∑a2k(2.19)
2.3.2 艾弗森约定的引入
引入艾弗森括号(Iverson bracket):
[P]={1,若命题 P 成立0,否则
[P] =
\begin{cases}
1, & \text{若命题 } P \text{ 成立} \\
0, & \text{否则}
\end{cases}
[P]={1,0,若命题 P 成立否则
利用该约定,任意和式可写为:
∑k∈Kak=∑kak[k∈K](2.21)
\sum_{k \in K} a_k = \sum_k a_k [k \in K] \tag{2.21}
k∈K∑ak=k∑ak[k∈K](2.21)
这种统一表示法便于结合逻辑运算处理指标集。
2.3.3 集合合并法则
若 KKK 和 K′K'K′ 是任意整数集合,则有:
∑k∈Kak+∑k∈K′ak=∑k∈K∩K′ak+∑k∈K∪K′ak(2.20)
\sum_{k \in K} a_k + \sum_{k \in K'} a_k = \sum_{k \in K \cap K'} a_k + \sum_{k \in K \cup K'} a_k \tag{2.20}
k∈K∑ak+k∈K′∑ak=k∈K∩K′∑ak+k∈K∪K′∑ak(2.20)
此式由以下逻辑恒等式推出:
∑k∈Kak=∑kak[k∈K](2.21)
\sum_{k \in K} a_k = \sum_k a_k [k \in K] \tag{2.21}
k∈K∑ak=k∑ak[k∈K](2.21)
[k∈K]+[k∈K′]=[k∈K∩K′]+[k∈K∪K′](2.22) [k \in K] + [k \in K'] = [k \in K \cap K'] + [k \in K \cup K'] \tag{2.22} [k∈K]+[k∈K′]=[k∈K∩K′]+[k∈K∪K′](2.22)
[!NOTE]
∑k∈Kak+∑k∈K′ak=∑k∈K∩K′ak+∑k∈K∪K′ak \sum_{k \in K} a_k + \sum_{k \in K'} a_k = \sum_{k \in K \cap K'} a_k + \sum_{k \in K \cup K'} a_k k∈K∑ak+k∈K′∑ak=k∈K∩K′∑ak+k∈K∪K′∑ak为何不重合?
- 左边:交集 K∩K′K \cap K'K∩K′ 中的项被加 两次。
- 右边:并集 K∪K′K \cup K'K∪K′ 加一次,交集 K∩K′K \cap K'K∩K′ 额外再加一次 → 交集项也共加 两次。
- 所有其他项都只加一次。
该公式不是避免重复,而是精确反映重复结构。
利用艾弗森记号:
[k∈K]+[k∈K′]=[k∈K∩K′]+[k∈K∪K′] [k \in K] + [k \in K'] = [k \in K \cap K'] + [k \in K \cup K'] [k∈K]+[k∈K′]=[k∈K∩K′]+[k∈K∪K′]
对所有 kkk 成立,逐项相等,求和后仍相等。
应用
-
几乎不相交的和式合并
当 1≤m≤n1 \leq m \leq n1≤m≤n 时:
∑k=1mak+∑k=mnak=am+∑k=1nak \sum_{k=1}^{m} a_k + \sum_{k=m}^{n} a_k = a_m + \sum_{k=1}^{n} a_k k=1∑mak+k=m∑nak=am+k=1∑nak -
分离首项
当 n≥0n \geq 0n≥0 时:
∑0≤k≤nak=a0+∑1≤k≤nak(2.23) \sum_{0 \leq k \leq n} a_k = a_0 + \sum_{1 \leq k \leq n} a_k \tag{2.23} 0≤k≤n∑ak=a0+1≤k≤n∑ak(2.23)
这类操作是扰动法的基础。
2.3.4 扰动法
扰动法是一种通过建立递推关系来求解和式的方法。
设未知和式为:
Sn=∑0≤k≤nak
S_n = \sum_{0 \leq k \leq n} a_k
Sn=0≤k≤n∑ak
考虑 Sn+1S_{n+1}Sn+1 的两种展开方式:
Sn+an+1=∑0≤k≤n+1ak=a0+∑1≤k≤n+1ak
S_n + a_{n+1} = \sum_{0 \leq k \leq n+1} a_k = a_0 + \sum_{1 \leq k \leq n+1} a_k
Sn+an+1=0≤k≤n+1∑ak=a0+1≤k≤n+1∑ak
对右边的和式做变量替换 k→k+1k \to k+1k→k+1,得:
a0+∑1≤k+1≤n+1ak+1=a0+∑0≤k≤nak+1(2.24)
a_0 + \sum_{1 \leq k+1 \leq n+1} a_{k+1} = a_0 + \sum_{0 \leq k \leq n} a_{k+1} \tag{2.24}
a0+1≤k+1≤n+1∑ak+1=a0+0≤k≤n∑ak+1(2.24)
于是得到方程:
Sn+an+1=a0+∑0≤k≤nak+1
S_n + a_{n+1} = a_0 + \sum_{0 \leq k \leq n} a_{k+1}
Sn+an+1=a0+0≤k≤n∑ak+1
若能将右边的和式用 SnS_nSn 表示,则可通过解方程求出 SnS_nSn。
应用一:几何级数求和
考虑一般几何级数:
Sn=∑0≤k≤naxk
S_n = \sum_{0 \leq k \leq n} a x^k
Sn=0≤k≤n∑axk
应用扰动法:
Sn+axn+1=a+∑0≤k≤naxk+1=a+x∑0≤k≤naxk=a+xSn
S_n + a x^{n+1} = a + \sum_{0 \leq k \leq n} a x^{k+1} = a + x \sum_{0 \leq k \leq n} a x^k = a + x S_n
Sn+axn+1=a+0≤k≤n∑axk+1=a+x0≤k≤n∑axk=a+xSn
整理得:
Sn(1−x)=a−axn+1
S_n (1 - x) = a - a x^{n+1}
Sn(1−x)=a−axn+1
因此,当 x≠1x \ne 1x=1 时:
∑k=0naxk=a−axn+11−x(2.25)
\sum_{k=0}^{n} a x^{k} = \frac{a - a x^{n+1}}{1 - x} \tag{2.25}
k=0∑naxk=1−xa−axn+1(2.25)
当 x=1x = 1x=1 时,和式为 (n+1)a(n+1)a(n+1)a。
应用二:∑k2k\sum k 2^k∑k2k
设:
Sn=∑0≤k≤nk2k
S_n = \sum_{0 \leq k \leq n} k 2^k
Sn=0≤k≤n∑k2k
已知前几项:S0=0S_0 = 0S0=0, S1=2S_1 = 2S1=2, S2=10S_2 = 10S2=10, S3=34S_3 = 34S3=34, S4=98S_4 = 98S4=98。
应用扰动法:
Sn+(n+1)2n+1=∑0≤k≤n(k+1)2k+1=∑0≤k≤nk⋅2k+1+∑0≤k≤n2k+1
S_n + (n+1) 2^{n+1} = \sum_{0 \leq k \leq n} (k+1) 2^{k+1}
= \sum_{0 \leq k \leq n} k \cdot 2^{k+1} + \sum_{0 \leq k \leq n} 2^{k+1}
Sn+(n+1)2n+1=0≤k≤n∑(k+1)2k+1=0≤k≤n∑k⋅2k+1+0≤k≤n∑2k+1
第一项:
∑0≤k≤nk⋅2k+1=2∑0≤k≤nk2k=2Sn
\sum_{0 \leq k \leq n} k \cdot 2^{k+1} = 2 \sum_{0 \leq k \leq n} k 2^k = 2 S_n
0≤k≤n∑k⋅2k+1=20≤k≤n∑k2k=2Sn
第二项为几何级数:
∑0≤k≤n2k+1=2∑0≤k≤n2k=2⋅2n+1−12−1=2n+2−2
\sum_{0 \leq k \leq n} 2^{k+1} = 2 \sum_{0 \leq k \leq n} 2^k = 2 \cdot \frac{2^{n+1} - 1}{2 - 1} = 2^{n+2} - 2
0≤k≤n∑2k+1=20≤k≤n∑2k=2⋅2−12n+1−1=2n+2−2
代入得:
Sn+(n+1)2n+1=2Sn+2n+2−2
S_n + (n+1) 2^{n+1} = 2 S_n + 2^{n+2} - 2
Sn+(n+1)2n+1=2Sn+2n+2−2
解得:
Sn=(n+1)2n+1−2n+2+2=(n−1)2n+1+2
S_n = (n+1) 2^{n+1} - 2^{n+2} + 2 = (n - 1) 2^{n+1} + 2
Sn=(n+1)2n+1−2n+2+2=(n−1)2n+1+2
即:
∑0≤k≤nk2k=(n−1)2n+1+2
\sum_{0 \leq k \leq n} k 2^k = (n - 1) 2^{n+1} + 2
0≤k≤n∑k2k=(n−1)2n+1+2
推广至一般底数 xxx
类似地,设 Sn=∑k=0nkxkS_n = \sum_{k=0}^{n} k x^kSn=∑k=0nkxk,扰动后得:
Sn+(n+1)xn+1=xSn+x−xn+21−x,x≠1
S_n + (n+1) x^{n+1} = x S_n + \frac{x - x^{n+2}}{1 - x}, \quad x \ne 1
Sn+(n+1)xn+1=xSn+1−xx−xn+2,x=1
解得:
∑k=0nkxk=x−(n+1)xn+1+nxn+2(1−x)2(2.26)
\sum_{k=0}^{n} k x^{k} = \frac{x - (n+1) x^{n+1} + n x^{n+2}}{(1 - x)^2} \tag{2.26}
k=0∑nkxk=(1−x)2x−(n+1)xn+1+nxn+2(2.26)
2.3.5 微积分方法计算
从几何级数出发:
∑k=0nxk=1−xn+11−x,x≠1
\sum_{k=0}^{n} x^k = \frac{1 - x^{n+1}}{1 - x}, \quad x \ne 1
k=0∑nxk=1−x1−xn+1,x=1
两边对 xxx 求导(利用"和的导数等于导数的和"):
∑k=0nkxk−1=ddx(1−xn+11−x)=1−(n+1)xn+nxn+1(1−x)2
\sum_{k=0}^{n} k x^{k-1} = \frac{d}{dx} \left( \frac{1 - x^{n+1}}{1 - x} \right)
= \frac{1 - (n+1) x^n + n x^{n+1}}{(1 - x)^2}
k=0∑nkxk−1=dxd(1−x1−xn+1)=(1−x)21−(n+1)xn+nxn+1
两边乘以 xxx 得:
∑k=0nkxk=x−(n+1)xn+1+nxn+2(1−x)2(2.26)
\sum_{k=0}^{n} k x^k = \frac{x - (n+1) x^{n+1} + n x^{n+2}}{(1 - x)^2} \tag{2.26}
k=0∑nkxk=(1−x)2x−(n+1)xn+1+nxn+2(2.26)
结果与扰动法一致。
5636

被折叠的 条评论
为什么被折叠?



