裂项方法的本质——有限微积分

此文章可谓是凝聚了我对某类数列求和的问题的核心理解。
它主要就是要讨论这些事情:裂项的本质是什么?如何更优雅地裂项?当你遇到一个完全陌生的求和要求,你该如何去理解它的形式和给出裂项方法?看了这篇文章也许你能有一些启发。

此前在网络上看到的文章,要么符号十分不严谨而丑陋,要么不全面或者偏向竞赛,所以还是自己总结一下。

下面的方法,均可以无缝与课内衔接,只是一种思维方式,不影响我们考试时写过程。

参考文献:《具体数学》。

前情回顾

我们先从课内对数列求和的认知和做法说起:

对于一个数列 \(\{a_i\}\),一种常见的求和办法是:构造一个新的数列 \(\{b_i\}\),使得 \(a_i=b_{i+1}-b_i\)。从而,我们会有:

\[\sum_{i=1}^na_i=\sum_{i=1}^n(b_{i+1}-b_i)=\sum_{i=2}^{n+1}b_i-\sum_{i=1}^{n}b_i=b_{n+1}-b_1. \]

于是,\(n\) 项的数列和被我们化简成了两项。如果 \(b_n\) 是容易计算的,那么我们就解决了问题。

经典的例子有:\(\frac 1 {n(n+1)} = \frac 1 n - \frac 1 {n+1}\), \(\frac 1 {(n-1)n(n+1)}=\frac 1 {2(n-1)n}- \frac 1 {2n(n+1)}\),等等,不再赘述。

这时我们会自然地想到:这样的式子貌似和我们学过的积分有些相像:二者都是把一段和变成了两个函数端点值的差。于是,很自然地,我们希望能借鉴我们在微积分中的经验,进一步探索所谓“裂项”背后的真相。

To 信息学竞赛生:这里的差分和我们平常见到的差分 \(a_i=b_i-b_{i-1}\) 有所不同,注意区别。

第一步抽象——差分之于求导

我们知道数列的本质是函数,更进一步地,是定义域在 \(\mathbb{N}^*\) 上的函数。我们一般把这种函数叫做数论函数。我们可以认为这样函数的定义域是离散的而非连续的。进一步地,我们想对数论函数研究其普遍性质。我们把连续函数概念拓展到离散函数的过程叫做离散模拟

首先,我们尝试把导数,或者说微分的概念拓展到数论函数上。对于离散函数,定义它们的微分算子 \(\mathrm D\) (算子:函数到函数的映射):

\[\mathrm D f(x) = \lim_{h\rightarrow0}\frac {f(x+h)-f(x)} {h}. \]

在离散情况下,\(h\) 不再能够趋近于 \(0\) ,那么我们不妨就让它为 \(1\) 好了。定义微分算子的离散模拟叫做差分算子 \(\Delta\),具体地:

\[\Delta f(x) = f(x + 1) - f(x). \]

到这里还是很好理解的。接下来我们举一些具体的例子来加深对这个概念的理解。

\[\Delta c = c-c = 0(c是常数) \]

\[\Delta x = (x+1)-x=1 \]

\[\Delta (x^2) = (x+1)^2-x^2=2x+1. \]

我们知道 \(\mathrm D(e^x)=e^x\),那么它的离散模拟就是:

\[\Delta (2^x) = 2^{x+1}-2^x = 2^x. \]

更进一步地,对于任意非零常数 \(a\),有:

\[\Delta (a^x) = a^{x+1}-a^x=(a-1)a^x. \]

我们还知道幂函数 \(\mathrm D(x^n)=nx^{n-1}\),然而,这在离散条件下不成立。幸运的是,前人帮我们找到了其离散模拟。我们定义下降幂

\[\begin{equation*} \begin{split} x^{\underline n} &= \prod_{i=1}^n(x-i+1) \\ &= x(x-1)(x-2)\dots(x-n+1). \end{split} \end{equation*} \]

其中 \(n\) 是正整数。
上面的式子只定义了正整数幂的情况。当然,我们可以将其拓展到负整数的情况。我们注意到,从 \(x^{\underline 3}\)\(x^{\underline 2}\)\(x^{\underline 1}\),我们将其分别除以了 \((x-3)\)\((x-2)\),\((x-1)\),那么很自然地,从 \(x^{\underline 0}\)\(x^{\underline {-1}}\) 就应该除以 \((x + 1)\),所以我们定义:

\[x^{\underline {-n}} = \frac 1 {(x + 1)(x + 2)\dots (x + n)}. \]

可以不费什么功夫地证明它满足类似的关系:

\[\Delta (x^{\underline n}) = x^{\underline {n+1}}-x^{\underline {n}} = nx^{\underline {n-1}}. \]

这个式子的证明被留作习题。

同样,对于组合数 \(\binom{m}{n}\) (就是 \(C^n_m\) ),有

\[\Delta \binom{m}{x} = \binom{m}{x+1}-\binom{m}{x} = \binom{m-1}{x}. \]

接下来,我们尝试寻找各个求导法则的离散模拟。首先,显然有:

\[k\Delta f(x) = \Delta (k(f(x)), \]

其中 \(k\) 是常数。

类比和法则 \(\mathrm D(f(x)+g(x)) = \mathrm D f(x)+\mathrm D g(x)\) 可以轻易得到:

\[\Delta (f(x)+g(x)) = \Delta f(x)+\Delta g(x) \]

类比积法则 \(\mathrm D (f(x)g(x))=g(x)\mathrm Df(x)+f(x) \mathrm D g(x)\),我们得到:

\[\begin{equation*} \begin{split}\Delta (f(x)g(x)) &= f(x+1)g(x+1)-f(x)g(x) \\ &= (f(x) + \Delta f(x))(g(x) + \Delta g(x)) - f(x)g(x) \\ &= \Delta f(x) g(x)+f(x)\Delta g(x)+\Delta f(x) \Delta g(x) \\ &= \Delta f(x)g(x)+f(x+1)\Delta g(x). \end{split} \end{equation*}\]

在之前的过程中我们认为 \(\mathrm d f \mathrm d g\) 是二阶无穷小量,予以忽略。然而,在有限微积分中这显然是行不通的。所以我们需要把它保留。可以定义移位算子 \(\mathrm E\),使得 \(f(x+1) = \mathrm E f(x)\),从而将积法则写为:

\[\Delta (f(x)g(x)) = \Delta f(x)g(x) + \Delta g(x)\mathrm E f(x) \]

接下来,不得不宣布一个很令人沮丧的事实:在有限微积分中,没有一套合适的复合函数差分法则。

第二步抽象——不定和之于积分

那么我们迅速开始拓展积分的离散模拟:求和。这就是我们上面差分的逆运算。类比不定积分:

\[\int \mathrm D f(x)\mathrm d x=f(x)+C; \]

其中 \(C\) 是一个常数;我们定义不定和运算:

\[\sum \Delta f(x)\delta x=f(x)+C, \]

这里 \(C\) 只需要在整数处取常数值即可。

从这里可以看出,不定和与差分互为逆运算。依据这个,我们来举几个例子。例如:

\[\sum \Delta a^x\delta x=\frac{a^x}{a-1}+C(a \ne 1) \]

\[\sum \Delta x^{\underline{n}}\delta x = \frac{x^{\underline{n+1}}}{n+1} (n \ne -1). \]

那么,\(\sum \Delta x ^{\underline{-1}} \delta x\) 是多少呢?不难发现,

\[h(x) = \sum_{i=1}^n \frac 1 i \]

是一个合理的函数,我们把 \(H_x = h(x)\) 叫做 调和数,它是 \(\ln(x)\) 的离散模拟。事实上有

\[\lim_{n \rightarrow + \infty} H_n-\ln n = \gamma \]

其中 \(\gamma \approx 0.5772\) 为欧拉常数。

接下来我们根据定积分的定义拓展出有限和:我们知道如果 \(g(x) = \mathrm D f(x)\),那么有

\[\int_a^b g(x)\mathrm d x = f(b) - f(a) \]

类似的,如果我们有 \(g(x) = \Delta f(x)\),就会希望有

\[\sum\nolimits_a^b g(x)\delta x = f(b)-f(a) \]

想要让上等式成立,我们需要给左式一个定义。根据我们对差分的定义,容易猜测出它的形式:

\[\begin{equation*} \begin{split} \sum\nolimits_a^b g(x)\delta x &= \sum_{i=a}^{b-1}g(i) \\ &= \sum_{i=a}^{b-1}(f(i+1)-f(i)) \\ &= f(b) - f(a). \end{split} \end{equation*}\]

因此,这样类比定义符号是左闭右开的。这样定义决定了下列性质:

\[\sum\nolimits_a^a g(x)\delta x = 0 \]

\[\sum\nolimits_a^b g(x)\delta x + \sum\nolimits_b^c g(x)\delta x = \sum\nolimits_a^c g(x)\delta x.\]

\(a > b\) 时,这样定义:

\[ \sum\nolimits_a^b g(x)\delta x = -\sum\nolimits_b^a g(x)\delta x. \]

而课内的裂项求和,实际上是先求不定和、再求有限和的过程。

更进一步地,类比我们知道的分部积分法则,可以尝试拓展出分部求和法则。我们将上面的积法则两边取不定和,并移项,得到:

\[\sum u \Delta v = uv - \sum \mathrm E v\Delta u \]

如果右式比左式好计算,那么分部求和就是有效的。这也就是说,我们希望 \(v\)\(\Sigma \mathrm E v \Delta u\) 都具有比较好的形式。一个使用分部求和法的例子在下方例6。

理论可行,实践开始:

  1. \[\sum_{i=a}^{b-1}c^i, \]

    其中 \(c\) 是常数。

    解:

    \[\begin{equation*} \begin{split} \sum_{i=a}^{b-1}c^i &= \sum\nolimits_a^b c^x\delta x \\ &= \left. \frac{c^x}{c-1} \right|_a^b \\ &= \frac{c^b-c^a}{c-1}. \end{split} \end{equation*} \]

  2. \[\sum_{i=a}^{b-1}i^{\underline{m}}, \]

    其中 \(m\) 是常数且不为 \(-1\)

    解:

    \[\begin{equation*} \begin{split} \sum_{i=a}^{b-1}i^{\underline{m}} &= \sum\nolimits_a^b x^{\underline{m}} \delta x \\ &= \left. \frac{x^{\underline{m+1}}}{m+1} \right |_a^b \\ &= \frac {b^{\underline{m+1}}-a^{\underline{m+1}}}{m+1} \end{split} \end{equation*} \]

  3. \[\sum_{i=1}^ni^2. \]

    解:

    \[\begin{equation*} \begin{split} \sum_{i=1}^ni^2 &= \sum_{i=1}^n(i(i-1)+i) \\ &= \sum_{i=1}^n(i ^ {\underline 2}+i^{\underline 1}) \\ &= \sum\nolimits_1^{n+1}(x ^ {\underline 2} + x ^ {\underline 1}) \delta x \\ &= \left. \frac{x^{\underline 3}}{3} + \frac{x^{\underline 2}}{2} \right|_1^{n+1} \\ &= \frac{(n+1)^{\underline{3}}}{3}+\frac{(n+1)^{\underline{2}}}{2} \\ &= \frac{n(n+1)(2n+1)}{6}. \end{split} \end{equation*} \]

    完全没有任何难度。

  4. \[\sum_{i=1}^ni^3. \]

    解:
    容易验证如下恒等式:

    \[k^3=k^{\underline 3}+3k^{\underline 2}+k^{\underline 1} \]

    所以:

    \[\begin{equation*} \begin{split} \sum_{i=1}^ni^3 &= \sum_{i=1}^n i^{\underline 3}+3 i^{\underline 2}+i^{\underline 1} \\ &= \left. \frac{x^{\underline 4}}{4}+ x^{\underline 3} + \frac{x ^ {\underline 2}}{2} \right|_1^{n+1} \\ &= \frac{(n+1)n(n-1)(n-2)}{4}+(n+1)n(n-1)+\frac{(n+1)n}{2} \\ &= \frac{n^2(n+1)^2}{4} \end{split} \end{equation*} \]

    对于求和来说,下降幂是非常方便的。但如何在下降幂和普通幂之间建立联系呢?这超出了本篇的讨论范围。事实上,需要借助“斯特林数”。感兴趣的读者可以自行查阅资料。

  5. \[\sum_{i=1}^n \frac{1}{i(i+1)} \]

    解:

    \[\begin{equation*} \begin{split} \sum_{i=1}^n \frac{1}{i(i+1)} &= \sum_{i=0}^{n-1} \frac 1 {(i+1){(i+2)}} \\ &= \sum_{i=0}^{n-1} i^{\underline{-2}} \\ &= \sum\nolimits_0^{n-1}x^{\underline{-2}} \delta x \\ &= \left. -x^{\underline {-1}} \right|_0^n \\ &= 1-\frac 1 {n+1} \\ &= \frac n {n+1} \end{split} \end{equation*} \]

  6. \[\sum_{i=1}^ni2^i. \]

    解:使用分部求和法。我们设 \(u(x) = x, \Delta v(x) = 2^x\),则 \(\Delta u(x) = 1, v(x) = 2^x\)。使用分部求和法则得到:

    \[\sum x2^x \delta x = x2^x-\sum2^{x+1} \delta x = x2^x - 2^{x+1}+C \]

    于是,有:

    \[\begin{equation*} \begin{split} \sum_{i=1}^ni2^i &= \sum\nolimits_0^{n+1} x2^x \delta x \\ &= \left. x2^x - 2^{x+1} \right|_0^{n+1} \\ &= ((n+1)2^{n+1}-2^{n+2})-(0 \times 2^0 - 2^1) \\ &= (n-1)2^{n+1} +2. \end{split} \end{equation*} \]

    \[\sum_{i=1}^n i H_i. \]

    借鉴求 \(\int x \ln x \mathrm d x\) 的经验。
    解:令 \(u(x) = H_x, \Delta v(x) = x = x^{\underline 1}\),则 \(\Delta u(x) = x^{\underline{-1}}, v(x) = \frac {x^{\underline 2}}{2}, \mathrm E v(x) = \frac {(x+1)^{\underline 2}}{2}\),于是:

    \[\begin{equation*} \begin{split} \sum x H_x \delta x &= \frac{x^{\underline 2}}{2} H_x - \sum \frac{(x+1)^{\underline{2}}}{2} x^{\underline{-1}} \delta x \\ &= \frac{x^{\underline 2}}{2} H_x - \frac 1 2 \sum x^{\underline 1} \delta x \\ &= \frac{x^{\underline 2}}{2} H_x - \frac{x^{\underline{2}}}{4} + C. \end{split} \end{equation*}\]

    现在我们加上上下限并给出结果:

    \[\sum_{i=1}^n iH_i = \sum\nolimits_1^{n+1} x H_x \delta x = \frac{n(n+1)(2H_{n+1} - 1)}{4}. \]

碎碎念

听说EI用 \Sigma 而不是 \sum\nolimits 来表示求和,我比较叛逆,用了后者。

posted @ 2023-01-18 13:49  Martin_MHT  阅读(1278)  评论(1)    收藏  举报