前言
由于本人过于菜鸡,学多项式以及一些奇奇怪怪的东西的时候结识了这个有限微积分,故有了这篇文章。
有限微积分是在离散(通常是整数)意义下的积分,不再是平常我们所熟知的类似求面积的无限微积分。
字面意思就是说不能无限分很多小块下去。
引入
常见数列
对于数列上的求和,我们有一些耳熟能详的结论和定理:
\[1 + 2 + 3 + \dots + n = \sum\limits_{k = 1} ^ {n} = {n(n + 1) \over 2}
\]
\[1 + a + a ^ 2 + \dots + a ^ {n - 1} = \sum\limits_{k = 0}^{n - 1}a ^ k = {a ^ n - 1 \over a - 1}
\]
如果你知识面比较广,可能还知道:
\[1 ^ 2 + 2 ^ 2 + 3 ^ 2 + \dots + n ^ 2 = \sum\limits_{k = 1}^{n}{k ^ 2} = {n(n + 1)(2n + 1) \over 6}
\]
\[1 ^ 3 + 2 ^ 3 + 3 ^ 3 + \dots + n ^ 3 = \sum\limits_{k = 1}^{n}{k ^ 3} = {n ^ 2 (n + 1) ^ 2 \over 4}
\]
但是如果我们现在得到一个全新的公式,我们该如何是好呢?
这里就提出了有限微积分这个好东西,用于求解非组合形式的数列求和问题。
裂项相消法
在小学奥数中有这么一个式子:
\[\frac12 + \frac16 + \frac1{12} + \dots + \frac{1}{n(n + 1)}
\]
根据小学奥数学的裂项:
\[= \frac11 - \frac12 + \frac12 + \frac13 + \dots + \frac1n - \frac1{n + 1}
= 1 - \frac1{n + 1}
\]
这启示我们,若干个数的和可以将其拆分成小数再进行相加。
而对于高中生来说,我们还会知道求导:
\[f'(x) = \lim_{\Delta x \rightarrow 0} {f(x + \Delta x) - f(x) \over \Delta x}
\]
这个东西相当于是减去一个极小的 \(\Delta x\) 的值。
发现这个其实跟裂项相消比较类似。
于是我们能得出一个结论:
既然存在相加和相减的对立,那么求导也存在着与之相对应的运算法则,即积分,二者分别对应的是差的极限与和的极限。
因此对于求和问题,我们可以用积分进行求解。
差分
在OI中,我们学习过差分这种算法,一般用于解决区间操作问题。
比如我们对于一个数列 \(a\),我们需要对 \([l, r]\) 进行区间加操作,一种比较人类智慧的方法就是先对 \(a\) 进行如下操作:
\[a_i = a_i - a_{i - 1}
\]
这样我们修改的时候,只需要修改 \(a_l\) 以及 \(a_{r + 1}\) 的值,最后再进行前缀和操作即可实现区间加操作。
我们发现这个差分操作类似于离散意义下的求导?那前缀和就是积分?
我们提出这样一个东西:
\[\Delta f(x) = f(x + 1) - f(x)
\]
意思就是 \(\Delta f(x)\) 是一个新函数,存储的值是原函数 \(+1\) 的函数值与当前函数值的差值。
探究一下运算的法则:
- 加法法则:\(\Delta (u + v) = \Delta u + \Delta v\)
套用定义即可证明
- 减法法则:\(\Delta (u - v) = \Delta u - \Delta v\)
同理
- \(\Delta(Cu) = C \Delta u\)
其中 \(C\) 是一个无关常数。
同样套用证明
- 乘法法则:\(\Delta(uv) = u\Delta v + Ev\Delta u\)
证明:\(\Delta (f(x)g(x)) = f(x + 1)g(x + 1) - f(x)g(x)\)
考虑一个中间项 \(-f(x)g(x + 1) + f(x)g(x + 1)\)
\[\begin{aligned}
=f(x + 1)g(x + 1) - f(x)g(x + 1) + f(x)g(x + 1) - f(x)g(x) \\
=\Delta f(x)g(x + 1) + \Delta g(x)f(x) \\
=f(x)\Delta g(x) + Eg(x)\Delta f(x)
\end{aligned}
\]
需要注意的是,有限微积分相比于无限微积分,并没有除法法则和链式法则。
定和式
即存在上下界的和式
有了差分之后,我们开始系统性的解决求和问题。定义定和式:
\[{\textstyle\sum_a^bf(x)} \delta x = \sum\limits^{b - 1}_{k = a}f(k) = f(a) + f(a + 1) + f(a + 2) + \dots + f(b - 1)
\]
注意,\(\sum_a^b\) 表示的范围不是 \([a, b]\),而是左闭右开,即 \([a, b)\)
很显然,这个就是我们之前说的差分的逆运算,相当于前缀和。
具体的,根据裂项相消法,有微积分基本定理:
\[{\textstyle\sum_a^b} \Delta f(x) \delta x = f(b) - f(a)
\]
这说明差分函数在 \([a, b)\) 积分值为 \(f(b) - f(a)\)。
这个差分函数就是离散意义下的导函数,积分后的函数即为原函数。这也体现出了导函数的积分为原函数加某一个常数的观点。
类比一下,说明一个函数 \(f(x)\) 在 \([a, b)\) 的积分值为 \(F(b) - F(a)\)。
套用定义,能知道定和式满足以下性质:
- \(\sum_a^a f(x) \delta x = 0,\sum_a^b f(x) \delta x = - \sum_b^a f(x) \delta x\)
- \(\sum_a^b f(x) \delta x + \sum_b^c f(x) \delta x = \sum_a^cf(x) \delta x\)
- \(\sum_a^b f(x) \delta x \pm \sum_a^b g(x) \delta x = \sum_a^b (f(x) \pm g(x)) \delta x\)
- \(\sum_a^b Cf(x) \delta x = C\sum_a^b f(x) \delta x\)
例题1
求解等比数列和 \(\sum\limits^{n - 1}_{k = 0} a^k \ (a \ne 1)\)
考虑指数函数的差分:
\[\Delta (a^x) = a^{x + 1} - a^x = (a - 1)a^x \\
a^x = {\Delta ({ a^x \over a - 1})}
\]
因此,原式变为:
\[\begin{aligned}
\sum\limits^{n - 1}_{k = 0}a^k &= {\textstyle{\Large\sum}_{0}^{n}} \Delta({a^x \over a + 1}) \delta x \\
&={(a^n - a^0) \over a - 1} \\
&={a^n - 1 \over a - 1}
\end{aligned}
\]
这也是等比数列求和公式的另外一种求法。
下降幂
以上的指数函数能够通过 \(\Delta f(x)\) 套用运算法则将原函数化成 \(\Delta f(x)\) 的形式,直接能够算出和。
但可惜的是幂函数就不可以了,如果我们按照刚刚的办法,在有限微积分有以下式子:
\[\Delta x^n = (x+1)^n - x^n = \sum_{i = 0}^{n}{n \choose i}x^i - x^n\\
=\sum_{i=0}^{n-1}{n \choose i}x^i
\]
这个东西没办法套用公式得到原函数与差分函数的关系,故这里引入下降幂(不会的去组合数学里学)。
Ex:同样的做法在无限微积分中却有非常优美的形式:\((x^n)' = na^{n-1}\),这里的求导与有限微积分的差分意义上等价。
下降幂的差分具有类似无限微积分中的幂函数一样的很优美的性质:
\[\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 ({x^{\underline {n+1}} \over n + 1})
\]
因此可以考虑普通幂转下降幂进行求和。
由于普通幂与下降幂之间存在关系:
\[x^n = \sum_{k=0}^{n}{n \brace k}x^{\underline k}
\]
故可以解决幂函数的有限积分问题了。
例题2
求解等差数列和 \(\sum\limits_{k=1}^{n}k\)
解:
\[\sum\limits_{k=1}^{n}k = \sum\limits_{k=0}^{n}k ={\textstyle{\Large\sum}_{0}^{n+1}}x \delta x = {\textstyle{\Large\sum}_{0}^{n + 1}}x^{\underline 1} \delta x \\
={(n+1)^{\underline 2} \over 2} - {0^{\underline 2} \over 2}
={n(n+1) \over 2}
\]
例题3
求解 \(\sum\limits_{k = 1}^{n}{1 \over {k(k + 1)}}\)
解:
\[\sum\limits_{k = 1}^{n}{1 \over {k(k + 1)}}= \sum\limits_{k = 0}^{n - 1}k^{\underline {-2}} = {\textstyle{\Large\sum}_{0}^{n}}x^{\underline {-2}} \delta x = {n^{\underline {-1}} - 0^{\underline {-1}} \over -1}
\]
由于当 \(m < 0\) 时,\(n^{\underline m} = {1 \over (n+1)^{\overline m}}\)。故:
\[\sum\limits_{k = 1}^{n}{1 \over {k(k + 1)}}= {n \over {n + 1}}
\]
解:
\[\begin{aligned}
\sum\limits_{i=1}^{n}\left(\prod\limits_{j = i}^{i + m - 1} j \right)^{-1} &= \sum\limits_{i=0}^{n - 1}\left(\prod\limits_{j = i + 1}^{i + m} j \right)^{-1} \\
&=\sum\limits_{i=0}^{n - 1}{1 \over (i+m)^{\underline m}} \\
&={\textstyle{\Large\sum}_{0}^{n}}x^{\underline {-m}} \delta x\\
&={n^{\underline {-m+1}} - 0^{\underline {-m+1}} \over {-m+1}}\\
&={(n+m-1)^{\underline n} - n!\over (m-1)(n+m-1)!}
\end{aligned}
\]
例题5
证明上指标求和公式 \(\sum\limits_{k = 0}^{n}{k \choose m} = {n + 1 \choose m + 1}\)
证明:
\[\begin{aligned}
\sum_{k = 0}^{n}{k \choose m} = \sum_{k = 0}^{n}{k^{\underline m} \over m!} = {1 \over m!}{\textstyle{\Large\sum}_{0}^{n + 1}}x^{\underline m} \delta x \\
= {1 \over m!} {(n + 1) ^ {\underline {m + 1}} - 0 ^ {\underline {m + 1}} \over m + 1} = {(n + 1)^{\underline {m + 1}} \over (m + 1)!} = {n + 1 \choose m + 1}
\end{aligned}
\]
例题6
求解 \(\sum\limits_{k=1}^{n}k^2\)
解:
\[\begin{aligned}
\sum_{k = 1} ^ {n} k^2 = \sum_{k = 0} ^ {n} k^2
\end{aligned}
\]
由于普通幂与下降幂之间存在关系:
\[x^n = \sum_{k=0}^{n}{n \brace k}x^{\underline k}
\]
所以 \(x^2 = {2 \brace 0}x^{\underline 0} + {2 \brace 1}x^{\underline 1} + {2 \brace 2}x^{\underline 2} = (x^{\underline 2} + x)\)
\[\begin{aligned}
\sum_{k = 0} ^ {n} k^2 &= {\textstyle{\Large\sum}_{0}^{n+1}}(x^{\underline 2} + x) \delta x \\
&= {(n + 1)^{\underline 3} - 0^{\underline 3} \over 3} + {(n + 1)^{\underline 2} - 0^{\underline 2} \over 2} \\
&= {1 \over 3}(n + 1)^{\underline 3} + {1 \over 2}(n + 1)^{\underline 2} \\
&={(2n + 1)n(n + 1)\over 6}
\end{aligned}
\]
例题7
求解 \(\sum\limits_{k = 1}^{n} k^3\)
解:
\[\begin{aligned}
\sum_{k = 1}^{n} k^3= \sum_{k = 0}^{n}k^3
\end{aligned}
\]
同例题6理将幂次化为下降幂
需要注意的是,由于第二类斯特林数有递推公式 \({n \brace k} = {n - 1 \brace k - 1} + k{n - 1 \brace k}\),可以手算出 \({3 \brace 2} = {2 \brace 1} + 2{2 \brace 2} = 3\)。
\[\begin{aligned}
\sum_{k = 0}^{n}k^3 &= {\textstyle{\Large\sum}_{0}^{n + 1}}(x^{\underline 1} + 3x^{\underline 2} + x^{\underline 3}) \delta x \\
&={(n+1)^{\underline 2} \over 2} + 3{(n+1)^{\underline 3} \over 3} + {(n+1)^{\underline 4} \over 4} \\
&={(n^2 + n)^2 \over 4}
\end{aligned}
\]
经过这几道题的求解,可以总结出一些规律或者解题技巧,如遇到带幂函数的和式可以考虑转化为下降幂进行有限积分。
将例6和例7总结可以得到自然数幂和的公式:
\[\sum_{i = 0}^{n - 1}i^m = \sum_{i = 0}^{n - 1}\sum_{k = 0}^{m}{m \brace k}i^{\underline m} = \sum_{k = 0}^{m}{m \brace k}\sum_{i = 0}^{n - 1}i^{\underline k}
\]
此时进行有限微积分得:
\[\sum_{k = 0}^{m}{m \brace k}\sum_{i = 0}^{n - 1}i^{\underline k} = \sum_{k = 0}^{m}{m \brace k}{\textstyle{\Large\sum}_{0}^{n}}x^{\underline k}\delta x
\]
加上很重要的式子:\(x^{\underline n} = \Delta ({x^{\underline {n+1}} \over n + 1})\)
\[\sum_{k = 0}^{m}{m \brace k}{\textstyle{\Large\sum}_{0}^{n}}x^{\underline k}\delta x = \sum_{k = 0}^{m}{m \brace k}{n^{\underline {k + 1}} \over k +1}
\]
不定和式
刚刚讲了定和式,相应的也有不定和式(即不存在上下界的和式),这种和式求和后只能算得另一个新函数,而不是具体的值(相当于原函数与积分函数的关系)
\[f(x) = \sum \Delta f(x)\delta x + C
\]
其中 \(C\) 类比于积分中的常数 \(C\),一般通过特值得到。
对于差分中的乘法法则 \(\Delta(uv) = u\Delta v + Ev\Delta u\)
移项后得到分布求和法则:
\[\sum u\Delta v = uv - \sum Ev\Delta u
\]
例题8
求解 \(\sum\limits_{i = 0}^{n - 1} i^{\underline k}a^i,a\ne 1,k\) 较小。
解:直接套用分布求和法则
由于
\[\Delta (a^x) = a^{x + 1} - a^x = (a - 1)a^x \\
a^x = {\Delta ({ a^x \over a - 1})}
\]
分布求和中 \(u = x^{\underline k},\Delta v =a^x = {\Delta ({ a^x \over a - 1})},E = (x+1)\)
所以 \(v = \left( {a^x \over a - 1} \right),\Delta u = kn^{\underline {k - 1}}\)
\[\begin{aligned}
\sum x^{\underline k}a^x \delta x &= {x^{\underline k}a^x \over a - 1} - \sum {a^{x + 1} \over a - 1} kx^{\underline {k - 1}} \delta x \\
&={x^{\underline k}a^x \over a - 1} - {ka \over a - 1} \sum {a^x} x^{\underline {k - 1}} \delta x \\
&={a^x \over a -1}\sum_{i=0}^{k}\left({-a \over a - 1}\right)^ik^{\underline i}x^{\underline {k - i}}
\end{aligned}
\]
这一步是发现最后那个和式就是原式的 \(k\) 变为 \(k - 1\),暴力拆开,会变成一大坨东西乘起来,最后归纳一下得出公式(其实是我不知道怎么归纳)
因此 \(\large{\sum\limits_{i = 0}^{n - 1} i^{\underline k}a^i = \sum_{0}^{n} x^{\underline k}a^x \delta x = {a^x \over a -1}\sum_{i=0}^{k}\left({-a \over a - 1}\right)^ik^{\underline i}(a^n n^{\underline {k - i}} - a^0 0^{\underline {k - i}})}\)
这个公式应用性较强。