具体数学:和式(二)三大法则与和式合并

96 阅读3分钟

2.3 和式的处理

和式处理的目标是将一个求和表达式 \sum 变换为另一个更简单或更接近目标的形式。

2.3.1 三大法则

KK 是任意一个有限整数集合,则对 KK 中元素的和式可以应用以下三条基本法则进行变换。

(1) 分配律

kKcak=ckKak(2.15)\sum_{k \in K} c a_k = c \sum_{k \in K} a_k \tag{2.15}

其中 cc 为常数。该法则允许我们将常数因子移入或移出求和号

(2) 结合律

kK(ak+bk)=kKak+kKbk\sum_{k \in K} (a_k + b_k) = \sum_{k \in K} a_k + \sum_{k \in K} b_k

此法则允许我们将一个和式拆分为两个和式的和,或将两个和式合并为一个

(3) 交换律

kKak=p(k)Kap(k)(2.17)\sum_{k \in K} a_k = \sum_{p(k) \in K} a_{p(k)} \tag{2.17}

其中 p(k)p(k) 是所有整数的一个排列(permutation),即对于每个整数 nn,恰好存在唯一的整数 kk 使得 p(k)=np(k) = n

这一法则允许我们重新排列求和项的顺序。例如,若 K={1,0,+1}K = \{-1, 0, +1\}p(k)=kp(k) = -k,则有:

a1+a0+a1=a1+a0+a1a_{-1} + a_0 + a_1 = a_1 + a_0 + a_{-1}

值得注意的是,交换律成立的前提是 p(k)p(k) 为双射。否则,变换可能不成立。

[!NOTE]

双射(bijection)是指一个函数同时满足单射(injective)和满射(surjective)的性质,即在定义域和值域之间建立一一对应关系。具体来说:

  • 单射:不同的输入对应不同的输出,即若 x1x2x_1 \ne x_2,则 f(x1)f(x2)f(x_1) \ne f(x_2)
  • 满射:值域中的每一个元素都有至少一个原像,即对任意 yy,存在 xx 使得 f(x)=yf(x) = y

当一个函数是双射时,它可逆,且每个元素恰好被映射一次。

在和式的变换中,交换律

kKak=p(k)Kap(k)\sum_{k \in K} a_k = \sum_{p(k) \in K} a_{p(k)}

要求 p(k)p(k) 是一个排列,即整数集合上的双射。只有在这种情况下,重排求和顺序才不会改变和式的值。

下面给出两个案例,分别说明满足与不满足双射条件的情形。


案例一:满足双射的情形

K={0,1,2}K = \{0, 1, 2\},定义变换 p(k)=2kp(k) = 2 - k,即:

  • p(0)=2p(0) = 2
  • p(1)=1p(1) = 1
  • p(2)=0p(2) = 0

该映射将集合 KK 映射到自身,且每个元素恰好出现一次。它是单射(无重复映射)且满射(覆盖所有元素),因此是双射。

于是可以安全使用交换律:

k{0,1,2}ak=a0+a1+a2=a2+a1+a0=k{0,1,2}a2k\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={1,0,1}K = \{-1, 0, 1\},定义变换 p(k)=k2p(k) = k^2,即:

  • p(1)=1p(-1) = 1
  • p(0)=0p(0) = 0
  • p(1)=1p(1) = 1

此时有:

  • p(1)=p(1)=1p(-1) = p(1) = 1,说明不是单射(两个不同输入映射到同一输出)
  • 值域为 {0,1}\{0, 1\},而 1-1 在值域中没有原像(若考虑反向映射),但更重要的是原映射存在重复

因此 p(k)=k2p(k) = k^2 不是双射。

若强行代入和式变换:

k{1,0,1}ak=a1+a0+a1\sum_{k \in \{-1,0,1\}} a_k = a_{-1} + a_0 + a_1

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}

由于 k2k^2 只能取 0011,且 k=1k = -1k=1k = 1 都对应 a1a_1,所以实际计算为:

a(1)2+a02+a12=a1+a0+a1=a0+2a1a_{(-1)^2} + a_{0^2} + a_{1^2} = a_1 + a_0 + a_1 = a_0 + 2a_1

结果与原和式不同,说明变换破坏了和式的值。

因此,当 p(k)p(k) 不是双射时,交换律不成立。


综上,在和式变换中使用交换律时,必须确保变换函数 p(k)p(k) 在相关指标集上构成双射,否则可能导致错误结果。

三大法则的应用

高斯计算 1+2++n1 + 2 + \cdots + n 的技巧,本质上是分配律、结合律与交换律的综合应用

考虑一般等差级数的和:

S=0kn(a+bk)(2.18)S = \sum_{0 \leq k \leq n} (a + bk) \tag{2.18}

步骤1:应用交换律(倒序求和)

k=nkk' = n - k,这是整数集上的一个排列(对称变换),因此可应用交换律:

S=0kn(a+bk)=0nkn(a+b(nk))S = \sum_{0 \leq k \leq n} (a + bk) = \sum_{0 \leq n-k \leq n} \left( a + b(n - k) \right)

由于 0nkn0 \leq n - k \leq n 当且仅当 0kn0 \leq k \leq n,所以:

S=0kn(a+bnbk)S = \sum_{0 \leq k \leq n} \left( a + bn - bk \right)

步骤2:应用结合律(两式相加)

将原式与倒序式相加:

2S=0kn[(a+bk)+(a+bnbk)]=0kn(2a+bn)2S = \sum_{0 \leq k \leq n} \left[ (a + bk) + (a + bn - bk) \right] = \sum_{0 \leq k \leq n} (2a + bn)

注意到 bkbkbk-bk 抵消,得到常数项和。

步骤3:应用分配律(提取常数)

2S=(2a+bn)0kn1=(2a+bn)(n+1)2S = (2a + bn) \sum_{0 \leq k \leq 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)

即:

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}

解释:平均值 × 项数

  • 首项:a+b0=aa + b \cdot 0 = a
  • 末项:a+bn=a+bna + b \cdot n = a + bn
  • 平均值:12(a+(a+bn))=a+12bn\frac{1}{2}(a + (a + bn)) = a + \frac{1}{2}bn
  • 项数:n+1n + 1

因此,和 = (首项 + 末项)/ 2 × 项数,这正是等差数列求和公式的标准形式。

关键点:高斯技巧的本质是利用交换律进行变量替换(倒序),再用结合律将两个和式相加,最后用分配律提取常数,从而将非常数和转化为常数和。

[!NOTE]

等差数列求和公式

设等差数列的首项为 aa,公差为 dd,项数为 n+1n + 1(从第 0 项到第 nn 项),则其和为:

k=0n(a+kd)=(a+12dn)(n+1)\sum_{k=0}^{n} (a + kd) = \left( a + \frac{1}{2} d n \right)(n + 1)

等价地,若记:

  • 首项:a1=aa_1 = a
  • 末项:an+1=a+nda_{n+1} = a + n d
  • 项数:n+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)

即:

S=(a1+an+1)2(n+1)S = \frac{(a_1 + a_{n+1})}{2} \cdot (n + 1)

这是等差数列求和的通用公式。

同时等价的表述形式为: 设等差数列的:

  • 首项为 a1a_1
  • 公差为 dd
  • 项数为 nn

则前 nn 项和 SnS_n 可表示为:

Sn=k=1nak=n2(a1+an)=na1+n(n1)2dS_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

其中,第nn项(末项)为:

an=a1+(n1)da_n = a_1 + (n - 1)d

条件的放宽

实际上,我们只需保证:当 nKn \in K 时,恰好存在一个整数 kk 使得 p(k)=np(k) = n。对于 nKn \notin K 的情形,无论 p(k)=np(k) = n 出现多少次,都不影响和式的值,因为这些项不在原求和范围内。

例如,由于对每个偶数 nKn \in K,存在唯一的 kk 使得 2k=n2k = n,因此有:

kKak=2kKa2k(2.19)\sum_{k \in K} a_k = \sum_{2k \in K} a_{2k} \tag{2.19}

2.3.2 艾弗森约定的引入

引入艾弗森括号(Iverson bracket):

[P]={1,若命题 P 成立0,否则[P] = \begin{cases} 1, & \text{若命题 } P \text{ 成立} \\ 0, & \text{否则} \end{cases}

利用该约定,任意和式可写为:

kKak=kak[kK](2.21)\sum_{k \in K} a_k = \sum_k a_k [k \in K] \tag{2.21}

这种统一表示法便于结合逻辑运算处理指标集。


2.3.3 集合合并法则

KKKK' 是任意整数集合,则有:

kKak+kKak=kKKak+kKKak(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}

此式由以下逻辑恒等式推出:

kKak=kak[kK](2.21)\sum_{k \in K} a_k = \sum_k a_k [k \in K] \tag{2.21}
[kK]+[kK]=[kKK]+[kKK](2.22)[k \in K] + [k \in K'] = [k \in K \cap K'] + [k \in K \cup K'] \tag{2.22}

[!NOTE]

kKak+kKak=kKKak+kKKak\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

为何不重合?

  • 左边:交集 KKK \cap K' 中的项被加 两次
  • 右边:并集 KKK \cup K' 加一次,交集 KKK \cap K' 额外再加一次 → 交集项也共加 两次
  • 所有其他项都只加一次。

该公式不是避免重复,而是精确反映重复结构
利用艾弗森记号:

[kK]+[kK]=[kKK]+[kKK][k \in K] + [k \in K'] = [k \in K \cap K'] + [k \in K \cup K']

对所有 kk 成立,逐项相等,求和后仍相等。

应用

  1. 几乎不相交的和式合并1mn1 \leq m \leq 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
  2. 分离首项n0n \geq 0 时:

    0knak=a0+1knak(2.23)\sum_{0 \leq k \leq n} a_k = a_0 + \sum_{1 \leq k \leq n} a_k \tag{2.23}

这类操作是扰动法的基础。


2.3.4 扰动法

扰动法是一种通过建立递推关系来求解和式的方法。

设未知和式为:

Sn=0knakS_n = \sum_{0 \leq k \leq n} a_k

考虑 Sn+1S_{n+1} 的两种展开方式:

Sn+an+1=0kn+1ak=a0+1kn+1akS_n + a_{n+1} = \sum_{0 \leq k \leq n+1} a_k = a_0 + \sum_{1 \leq k \leq n+1} a_k

对右边的和式做变量替换 kk+1k \to k+1,得:

a0+1k+1n+1ak+1=a0+0knak+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}

于是得到方程:

Sn+an+1=a0+0knak+1S_n + a_{n+1} = a_0 + \sum_{0 \leq k \leq n} a_{k+1}

若能将右边的和式用 SnS_n 表示,则可通过解方程求出 SnS_n

应用一:几何级数求和

考虑一般几何级数:

Sn=0knaxkS_n = \sum_{0 \leq k \leq n} a x^k

应用扰动法:

Sn+axn+1=a+0knaxk+1=a+x0knaxk=a+xSnS_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(1x)=aaxn+1S_n (1 - x) = a - a x^{n+1}

因此,当 x1x \ne 1 时:

k=0naxk=aaxn+11x(2.25)\sum_{k=0}^{n} a x^{k} = \frac{a - a x^{n+1}}{1 - x} \tag{2.25}

x=1x = 1 时,和式为 (n+1)a(n+1)a


应用二:k2k\sum k 2^k

设:

Sn=0knk2kS_n = \sum_{0 \leq k \leq n} k 2^k

已知前几项:S0=0S_0 = 0, S1=2S_1 = 2, S2=10S_2 = 10, S3=34S_3 = 34, S4=98S_4 = 98

应用扰动法:

Sn+(n+1)2n+1=0kn(k+1)2k+1=0knk2k+1+0kn2k+1S_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}

第一项:

0knk2k+1=20knk2k=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

第二项为几何级数:

0kn2k+1=20kn2k=22n+1121=2n+22\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

代入得:

Sn+(n+1)2n+1=2Sn+2n+22S_n + (n+1) 2^{n+1} = 2 S_n + 2^{n+2} - 2

解得:

Sn=(n+1)2n+12n+2+2=(n1)2n+1+2S_n = (n+1) 2^{n+1} - 2^{n+2} + 2 = (n - 1) 2^{n+1} + 2

即:

0knk2k=(n1)2n+1+2\sum_{0 \leq k \leq n} k 2^k = (n - 1) 2^{n+1} + 2

推广至一般底数 xx

类似地,设 Sn=k=0nkxkS_n = \sum_{k=0}^{n} k x^k,扰动后得:

Sn+(n+1)xn+1=xSn+xxn+21x,x1S_n + (n+1) x^{n+1} = x S_n + \frac{x - x^{n+2}}{1 - x}, \quad x \ne 1

解得:

k=0nkxk=x(n+1)xn+1+nxn+2(1x)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}

2.3.5 微积分方法计算

从几何级数出发:

k=0nxk=1xn+11x,x1\sum_{k=0}^{n} x^k = \frac{1 - x^{n+1}}{1 - x}, \quad x \ne 1

两边对 xx 求导(利用"和的导数等于导数的和"):

k=0nkxk1=ddx(1xn+11x)=1(n+1)xn+nxn+1(1x)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}

两边乘以 xx 得:

k=0nkxk=x(n+1)xn+1+nxn+2(1x)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}

结果与扰动法一致。