有限微积分与数列求和

warzone

2021-10-31 21:09:59

K12 Study

前言

本文参考自《具体数学》。

如有错漏敬请读者一一指出或喷作者。

可能的前置知识:

当然不知道也没关系,与这些相关的大多是证明方面的东西。

问题引入

对于数列求和,我们有以下耳熟能详的公式:

1+2+3+\cdots+n=\sum_{k=1}^n k=\dfrac{n(n+1)}{2} 1+a+a^2+\cdots+a^{n-1}=\sum_{k=0}^{n-1}a^k=\dfrac{a^n-1}{a-1}

但这些公式缺乏一般性,例如将等差数列求和公式的 k 变为 k^2k^3

1^2+2^2+\cdots+n^2=\sum_{k=1}^nk^2=\dfrac{n(n+1)(2n+1)}{6} 1^3+2^3+\cdots+n^3=\sum_{k=1}^nk^3={\left(\sum_{k=1}^n k\right)}^2=\dfrac{n^2(n+1)^2}{4}

尽管我们可以用数学归纳法证明这些东西然后背下来,
但对于每一个新的数列和都去猜测结果然后证明,无疑是一件低效的做法。

这里将介绍《具体数学》中的系统方法——有限微积分,
解决非组合形式的数列求和问题。

裂项相消法

对于数列求和,有一个很重要的方法叫裂项相消法。

例如对于 \displaystyle\sum_{k=1}^n\dfrac{1}{k(k+1)},我们有

\sum_{k=1}^n\dfrac{1}{k(k+1)}=\sum_{k=1}^n\dfrac{1}{k}-\dfrac{1}{k+1} ={\left(\dfrac{1}{1}-\dfrac{1}{2}\right)}+{\left(\dfrac{1}{2}-\dfrac{1}{3}\right)}+{\left(\dfrac{1}{3}-\dfrac{1}{4}\right)}+\cdots+{\left(\dfrac{1}{n}-\dfrac{1}{n+1}\right)} =1-\dfrac{1}{n+1}

可以看到,原数列被拆成了两个数列的差,然后首尾相消。

这一做法仍需要人类智慧,但它无疑告诉我们:求和和求差是一对互逆的运算。

而在微积分中,求导和积分也是一对互逆的运算,
并且它们分别对应差的极限与和的极限。

因此,我们可以利用微积分中的方法来解决求和问题。

差分

\Delta f(x)=f(x+1)-f(x)

意思是,\Delta f(x) 是一个新的函数,它等于 f(x) 的差。

接下来我们研究下差分的运算法则:

遗憾的是,相比于无限微积分,有限微积分没有除法法则和链式法则。

定和式

有了差分之后,我们开始系统性的解决求和问题。定义定和式

{\sum}_a^bf(x)\delta x=\sum_{k=a}^{b-1}f(k)=f(a)+f(a+1)+f(a+2)+\cdots f(b-1)

它与差分是一对互逆的运算。具体的,根据裂项相消法,有微积分基本定理

{\sum}_a^b\Delta f(x)\delta x=f(b)-f(a)

同样套用定义,可知定和式满足以下性质:

例题 1:求解等比数列和 \displaystyle\sum_{k=0}^{n-1}a^k\quad(a\not= 1)
解:首先考虑指数函数的差分

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

套用运算法则得到

a^x=\Delta{\left(\dfrac{a^x}{a-1}\right)}

因此

\sum_{k=0}^{n-1}a^k={\sum}_0^na^x\delta x={\sum}_0^n\Delta{\left(\dfrac{a^x}{a-1}\right)}\delta x=\dfrac{a^n}{a-1}-\dfrac{a^0}{a-1}=\dfrac{a^n-1}{a-1}

由此得到了等比数列求和公式。

下降幂

直接套用运算法则能迅速求解指数函数的和,幂函数却并不能这么干

\Delta(x^n)=(x+1)^n-x^n=\sum_{k=0}^{n-1}\dbinom{n}{k}x^k

同样的做法在无限微积分中却得到了极为优美的结论:(x^n)'=nx^{n-1}

问题出在 “幂” 上。具体的,对于下降幂

x^{\underline{n}}=\begin{cases} x(x-1)(x-2)\cdots(x-n+1) & (n>0)\\ 1 &(n=0)\\ \dfrac{1}{(x+1)(x+2)\cdots (x+(-n))}&(n<0) \end{cases}

有一个同等优美的结论:

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

作跟指数函数一样的变形,就可得到

x^{\underline{n}}=\Delta{\left(\dfrac{x^{\underline{n+1}}}{n+1}\right)}

例题 2:求解等差数列和 \displaystyle\sum_{k=1}^n k
解:\displaystyle\sum_{k=1}^nk={\sum}_1^{n+1}x\delta x=\dfrac{1}{2}(n+1)^{\underline{2}}-\dfrac{1}{2}1^{\underline{2}}=\dfrac{n(n+1)}{2}

例题 3:求解 \displaystyle\sum_{k=1}^n\dfrac{1}{k(k+1)}
解:\displaystyle\sum_{k=1}^n\dfrac{1}{k(k+1)}=\sum_{k=0}^{n-1}k^{\underline{-2}}={\sum}_0^nx^{\underline{-2}}\delta x=\dfrac{n^{\underline{-1}}-0^{\underline{-1}}}{-1}=1-\dfrac{1}{n+1}

例题 4:P1625 求和
解:\displaystyle\sum_{i=1}^n\left(\prod_{j=i}^{i+m-1}j\right)^{-1}=\sum_{i=0}^{n-1}\left(\prod_{j=i+1}^{i+m}j\right)^{-1}=\sum_{i=0}^{n-1}\dfrac{1}{(i+m)^{\underline{m}}}

={\sum}_0^nx^{\underline{-m}}\delta x=\dfrac{n^{\underline{-m+1}}-0^{\underline{-m+1}}}{-m+1}=\dfrac{(n+m-1)^{\underline{n}}-n!}{(m-1)(n+m-1)!}

高精算出上面,下面分解质因数约分即可。

例题 5:求证上指标求和公式 \displaystyle\sum_{k=0}^n\dbinom{k}{m}=\dbinom{n+1}{m+1}
证明:\displaystyle\sum_{k=0}^n\dbinom{k}{m}=\sum_{k=0}^n\dfrac{k^{\underline{m}}}{m!}=\dfrac{1}{m!}{\sum}_0^{n+1}x^{\underline{m}}\delta{x}

=\dfrac{(n+1)^{\underline{m+1}}-0^{\underline{m+1}}}{m!(m+1)}=\dfrac{(n+1)^{\underline{m+1}}}{(m+1)!}=\dbinom{n+1}{m+1}

例题 6:求解 \displaystyle\sum_{k=1}^n k^2
解:\displaystyle\sum_{k=1}^nk^2=\sum_{k=0}^nk^2={\sum}_0^{n+1}(x^{\underline{2}}+x)\delta x=\dfrac{1}{3}(n+1)^{\underline{3}}+\dfrac{1}{2}(n+1)^{\underline{2}}

=(n+1)n{\left(\dfrac{1}{3}(n-1)+\dfrac{1}{2}\right)}=\dfrac{(n+1)n(2n+1)}{6}

例题 7:求解 \displaystyle\sum_{k=1}^n k^3
解:\displaystyle\sum_{k=1}^nk^3=\sum_{k=0}^nk^3={\sum}_0^{n+1}(x^{\underline{3}}+3x^{\underline{2}}+x)\delta x

=\dfrac{1}{4}(n+1)^{\underline{4}}+(n+1)^{\underline{3}}+\dfrac{1}{2}(n+1)^{\underline{2}}=\dfrac{n^2(n+1)^2}{4}

由后两个例题可知,对于带幂函数的和式,首先要将普通幂转为下降幂。

两类斯特林数已经给出了二者间的转化关系:

x^n=\sum_{k=0}^n{n\brace k}x^{\underline{k}} x^{\underline{n}}=\sum_{k=0}^n{n\brack k}(-1)^{n-k}x^k

由此得到自然数幂和的一个公式

\sum_{i=0}^{n-1}i^m=\sum_{k=0}^m{m\brace k}\sum_{i=0}^{n-1}i^{\underline{k}}=\sum_{k=0}^m{m\brace k}{\sum}_0^nx^{\underline{k}}\delta x=\sum_{k=0}^m{m\brace k}\dfrac{n^{\underline{k+1}}}{k+1}

另一公式为伯努利数,二者的区别在于一个形式为下降幂,一个形式为普通幂。

不定和式与分部求和

有了定和式,相应的,有不定和式:

f(x)=\sum\Delta f(x)\delta x+C

其中 C 为计算完成后确定的常数。

对于差分的乘法法则 \Delta(uv)=u\Delta v+\mathrm{E}v\Delta u,移项再取和式可得分部求和法则

\sum u\Delta v=uv-\sum\mathrm{E}v\Delta u

使用时切记是 \mathrm{E}v 而非 \mathrm{E}\Delta v

例题 8:求解 \displaystyle\sum_{i=0}^{n-1} i^{\underline{k}}a^i,a\not= 1,k 较小。
解:由分部求和法则得

\sum x^{\underline{k}}a^x\delta x=\dfrac{x^{\underline{k}}a^x}{a-1}-\sum \dfrac{a^{x+1}}{a-1}kx^{\underline{k-1}}\delta x =\dfrac{x^{\underline{k}}a^x}{a-1}-\dfrac{ka}{a-1}\sum a^xx^{\underline{k-1}}\delta x =\dfrac{a^x}{a-1}\sum_{i=0}^k{\left(\dfrac{-a}{a-1}\right)}^ik^{\underline{i}}x^{\underline{k-i}}

因此 \displaystyle\sum_{i=0}^{n-1}i^{\underline{k}}a^i={\sum}_0^nx^{\underline{k}}a^x\delta x=\dfrac{1}{a-1}\sum_{i=0}^k{\left(\dfrac{-a}{a-1}\right)}^ik^{\underline{i}}(a^nn^{\underline{k-i}}-a^00^{\underline{k-i}})

这一公式应用性较强:

例题 9:P4948 数列求和
例题 10:P5349 幂

高阶差分

与高阶导数相应的,可定义高阶差分

\Delta^0f=f,\Delta^n f=\Delta^{n-1}(\Delta f)

\Delta f(x)=f(x+1)-f(x),\mathrm{E}f(x)=f(x+1)\Delta=\mathrm{E}-1,因此

\Delta^n f=(\mathrm{E}-1)^nf=\sum_{k=0}^n\binom{n}{k}(-1)^{n-k}\mathrm{E}^kf

其中 \mathrm{E}^n 的定义同 \Delta^n

与泰勒展开类似的,对 f(x) 某一点不断求差分,就可得到等间距牛顿插值公式

f(x)=\sum_{k=0}^{\infty}\dfrac{\Delta^kf(x_0)}{k!}(x-x_0)^{\underline{k}}=\sum_{k=0}^{\infty}\dbinom{x-x_0}{k}\Delta^{k}f(x_0)

之所以称为插值,是因为对于多项式函数,其与拉格朗日插值等价。

证明:设 \deg f=n,综合以上两个公式得

f(x)=\sum_{k=0}^\infty\dbinom{x}{k}\sum_{i=0}^k\dbinom{k}{i}(-1)^{k-i}\mathrm{E}^if(x_0) f(x)=\sum_{k=0}^n\sum_{i=0}^k\dbinom{x}{k}\dbinom{k}{i}(-1)^{k-i}f(i) f(x)=\sum_{k=0}^n\sum_{i=0}^k\dbinom{x}{i}\dbinom{x-i}{k-i}(-1)^{k-i}f(i)

此处使用了三项式版恒等式 \dbinom{n}{m}\dbinom{m}{k}=\dbinom{n}{k}\dbinom{n-k}{m-k}

调换下求和顺序

f(x)=\sum_{i=0}^n\dbinom{x}{i}f(i)\sum_{k=i}^n\dbinom{x-i}{k-i}(-1)^{k-i} f(x)=\sum_{i=0}^n\dbinom{x}{i}f(i)\sum_{k=0}^{n-i}\dbinom{x-i}{k}(-1)^k

使用上指标翻转 \dbinom{r}{k}=\dbinom{k-r-1}{k}(-1)^k

f(x)=\sum_{i=0}^n\dbinom{x}{i}f(i)\sum_{k=0}^{n-i}\dbinom{k-(x-i)-1}{k}

使用平行求和法 \displaystyle\sum_{k=0}^n\dbinom{r+k}{k}=\dbinom{r+n+1}{n}

f(x)=\sum_{i=0}^n\dbinom{x}{i}f(i)\dbinom{n-i-(x-i)-1+1}{n-i} f(x)=\sum_{i=0}^nf(i)\dbinom{x}{i}\dbinom{n-x}{n-i} f(x)=\sum_{i=0}^nf(i)\left(\prod_{j=0}^{i-1}\dfrac{x-j}{i-j}\right)\left(\prod_{j=i+1}^n\dfrac{x-j}{i-j}\right) f(x)=\sum_{i=0}^nf(i)\prod_{j\not=i}\dfrac{x-j}{i-j}

由此得到其与拉格朗日插值等价。

实际应用中,f(x)\displaystyle=\sum_{i=0}^nf(i)\dbinom{x}{i}\dbinom{n-x}{n-i} 较好记且便于实现。

例题 11:P5907 数列求和加强版 / SPOJ MOON4

Stolz 定理

接下来需要涉及部分无限微积分方面的知识。

与无限微积分中求函数极限的洛必达法则类似,我们在有限微积分中有求数列极限的 Stolz 定理

需注意的是,该定理的逆命题并不成立,即不能用 \displaystyle\lim_{n\rightarrow+\infty}\dfrac{\Delta a_n}{\Delta b_n} 不存在推出 \displaystyle\lim_{n\rightarrow+\infty}\dfrac{a_n}{b_n} 不存在。

调和数

H_n=\sum_{i=1}^n\dfrac{1}{i}={\sum}_0^nx^{\underline{-1}}\delta x

这是有限微积分唯一一个瑕点,它没有初等的通项公式。

但我们可以估计它的增长率。首先,我们有

1+\dfrac{1}{2}+\dfrac{1}{4}+\dfrac{1}{4}+\dfrac{1}{8}+\dfrac{1}{8}+\dfrac{1}{8}+\dfrac{1}{8}+\cdots <1+\dfrac{1}{2}+\dfrac{1}{3}+\dfrac{1}{4}+\dfrac{1}{5}+\dfrac{1}{6}+\dfrac{1}{7}+\dfrac{1}{8}+\cdots< 1+\dfrac{1}{2}+\dfrac{1}{2}+\dfrac{1}{4}+\dfrac{1}{4}+\dfrac{1}{4}+\dfrac{1}{4}+\dfrac{1}{8}+\cdots 1+\dfrac{1}{2}\lfloor\log_2 n\rfloor\le H_n\le \lceil\log_2 (n+1)\rceil

因此调和数呈对数增长。

更进一步的估计是使用 Stolz 第二公式:

\lim_{n\rightarrow+\infty}\dfrac{\ln n}{H_n}=\lim_{n\rightarrow+\infty}\dfrac{\ln (n+1)-\ln n}{\dfrac{1}{n+1}}=\lim_{n\rightarrow+\infty}\dfrac{-\ln\left(1-\dfrac{1}{n+1}\right)}{\dfrac{1}{n+1}}

对分子进行泰勒展开,得

\lim_{n\rightarrow+\infty}\dfrac{-\ln\left(1-\dfrac{1}{n+1}\right)}{\dfrac{1}{n+1}}=\lim_{n\rightarrow+\infty}\dfrac{\displaystyle\sum_{k=1}^{+\infty}\dfrac{1}{k(n+1)^k}}{\dfrac{1}{n+1}}=\lim_{n\rightarrow+\infty}\dfrac{\displaystyle\sum_{k=1}^{+\infty}\dfrac{1}{k(n+1)^k}}{\dfrac{1}{n+1}} =\lim_{n\rightarrow+\infty}\sum_{k=1}^{+\infty}\dfrac{1}{k(n+1)^{k-1}}=\lim_{n\rightarrow+\infty}\sum_{k=0}^{+\infty}\dfrac{1}{k+1}\left(\dfrac{1}{n+1}\right)^k=1

因此调和级数与自然对数渐进等价,即

\lim_{n\rightarrow+\infty}\dfrac{\ln n}{H_n}=1

同样用作差分再泰勒展开的方法,可以证明调和数有渐进公式

H_n=\ln n+\gamma+\varepsilon_n # 总结 $$ \Delta f(x)=f(x+1)-f(x),{\sum}_a^bf(x)\delta x=\sum_{k=a}^{b-1}f(k) $$ $$ {\sum}_a^b\Delta f(x)\delta x=f(b)-f(a) $$ $$ \Delta(a^x)=(a-1)a^x,\Delta(x^{\underline{n}})=nx^{\underline{n-1}} $$ $$ f(x)=\sum\Delta f(x)\delta x+C,\sum u\Delta v=uv-\sum\mathrm{E}v\Delta u $$ $$ \Delta^n f=(\mathrm{E}-1)^nf=\sum_{k=0}^n\binom{n}{k}(-1)^{n-k}\mathrm{E}^kf $$ $$ f(x)=\sum_{k=0}^{\infty}\dbinom{x-x_0}{k}\Delta^{k}f(x_0)=\sum_{i=0}^nf(i)\dbinom{x}{i}\dbinom{n-x}{n-i} $$ $$ H_n=\sum_{i=1}^n\dfrac{1}{i}=\ln n+\gamma+\varepsilon_n $$ - 尽管没有无限微积分那么优秀的性质,有限微积分仍能高效地处理求和问题。 - 从小学到高中的所有数列求和,在有限微积分中得到统一。 Upd 2023.10.6:添加了 Stolz 定理,并用其实现了对调和数的进一步估计。