和式的计算——一般性的方法

看一个例子: i = 0 a i 2 \sum_{i=0}a_i^2
现在我们尝试使用多种方法来求这个式子的封闭形式——即通项公式。
方法0:可以查找公式。最好的资料来源是Sloane所著的《Handbook of Integer Sequences》,里面列出了数以千计的序列的封闭形式。可以去参考。还有些软件如:Axiom、MACSYMA、Maple或者Mathematica可以处理一些庞大的公式。其中,Mathematica很有名,大家可以去试用一下。
方法1:打表,猜测答案,然后用归纳法法证明。
方法2:对和式用扰动法
按照一般的做法,我们在其后加上一项:
S n + 1 = S n + ( n + 1 ) 2 = 0 k n ( k + 1 ) 2 = 0 k n ( k 2 + 2 k + 1 ) = 0 k n k 2 + 2 0 k n k + n + 1 = S n + 2 0 k n + ( n + 1 ) \begin{aligned} S_{n+1}=S_n+(n+1)^2 &=\sum_{0\leq k \leq n}(k+1)^2 \\ &=\sum_{0\leq k\leq n}(k^2+2k+1) \\ &=\sum_{0\leq k \leq n}k^2+2 \sum_{0\leq k \leq n} k+n+1 \\ &=Sn+2\sum{0\leq k \leq n}+(n+1) \end{aligned}
发现Sn消掉了,扰动法失效。
那我们尝试从整数的立方和出发,来用一下扰动法。
设G(n)表示整数的立方和。
G ( n ) + ( n + 1 ) 3 = 0 k n ( k + 1 ) 3 = 0 k n ( k 3 + 3 k 2 + 3 k + 1 ) = 0 k n k 3 + 3 0 k n k 2 + 3 n ( n + 1 ) 2 + n + 1 \begin{aligned}G(n)+(n+1)^3&=\sum_{0\leq k \leq n}(k+1)^3=\sum_{0 \leq k \leq n}(k^3+3k^2+3k+1)\\ &=\sum_{0 \leq k \leq n}k^3+3\sum_{0\leq k\leq n}k^2+\frac{3n(n+1)}{2}+n+1 \end{aligned}
发现G(n)消掉了,里面刚好有S(n).
3 S ( n ) = ( n + 1 ) 3 3 n ( n + 1 ) 2 + n + 1 3S(n)=(n+1)^3-\frac{3n(n+1)}{2}+n+1
化简可得:
3 S ( n ) = ( n + 1 ) ( n + 1 2 ) n 3S(n)=(n+1)(n+\frac{1}{2})n
方法三:建立成套方法
设递归式
(1) R 0 = α ; R n = R n 1 + β + γ n + δ n 2 , n > 0 \begin{aligned} R_0&=\alpha ;\\ R_n &=R_{n-1}+\beta+\gamma n+\delta n^2, n>0 \end{aligned}\tag{1}
的解的一般形式是
(2) R n = A ( n ) α + B ( n ) β + C ( n ) γ + D ( n ) δ R_n=A(n)\alpha+B(n)\beta+C(n)\gamma+D(n)\delta \tag{2}
S n Sn 对应于递归式取 α = 0 , β = 0 , γ = 0 , δ = 1 \alpha=0,\beta=0,\gamma=0,\delta=1 R n Rn 的值。.

R n = 1 Rn=1 ,则可得 α = 1 , β = 0 , γ = 0 , δ = 0 \alpha=1,\beta=0,\gamma=0,\delta=0 ,于是 A ( n ) = 1 A(n)=1
R n = n Rn=n ,则可得 α = 0 , β = 1 , γ = 0 , δ = 0 \alpha=0,\beta=1,\gamma=0,\delta=0 ,于是 B ( n ) = n B(n)=n
R n = n 2 Rn=n^2 ,则可得 α = 0 , β = 1 , γ = 2 , δ = 0 \alpha=0,\beta=-1,\gamma=2,\delta=0 ,于是 C ( n ) = n 2 + n 2 C(n)=\frac{n^2+n}{2}
R n = n 3 Rn=n^3 ,则可得 α = 0 , β = 1 , γ = 3 , δ = 3 \alpha=0,\beta=1,\gamma=-3,\delta=3 ,于是 n 3 = B ( n ) 3 C ( n ) + 3 D ( n ) n^3=B(n)-3C(n)+3D(n) ,有 D ( n ) = 2 n 3 2 n + 3 n ( n + 1 ) 6 = n ( n + 1 ) ( 2 n + 1 ) 6 D(n)=\frac{2n^3-2n+3n(n+1)}{6}=\frac{n(n+1)(2n+1)}{6}
现在 A ( n ) , B ( n ) , C ( n ) , D ( n ) A(n),B(n),C(n),D(n) 都已经求出来了。将 α = 0 , β = 0 , γ = 0 , δ = 1 \alpha=0,\beta=0,\gamma=0,\delta=1 代入式子 ( 2 ) (2) 中,则可求得 S n = D ( n ) = n ( n + 1 ) ( 2 n + 1 ) 6 Sn=D(n)=\frac{n(n+1)(2n+1)}{6}
成套方法是先从特殊到一般,再从一般到特殊的一个经典应用。
首先对一个具体的递归式,将其表示为一个系数待确定的方程,递归式变量为 α , β , γ , δ \alpha,\beta,\gamma,\delta ,各变量的系数分别为 A ( n ) , B ( n ) , C ( n ) , D ( n ) A(n),B(n),C(n),D(n) ,该方程是一个通用的方程,可以表示符合这种形式的任意递归式(f(n)与f(n-1)的倍数关系不能变)。然后再从一般到特殊,通过一些特殊的数列,求出系数的值。于是该方程的编程了一个系数确定的方程。只要代入 α , β , γ , δ \alpha,\beta,\gamma,\delta 的值,就可以确定方程在那一组变量下的值,即为原递归式的封闭形式。
方法四:用积分替换和式。
0 k n k 2 \sum_{0\leq k \leq n}k^2 可以看做宽度为1,高度为 k 2 k^2 的小矩形的面积之和,它可以近似的表示为: 0 n x 2 d x = n 3 / 3 \int_{0}^{n}x^2dx=n^3/3
我们检查这个误差,设误差 E n = S n n 3 / 3 E_n=S_n-n^3/3 .
因为Sn满足递归式,所以有: E n = S n n 3 / 3 = S n 1 + n 2 n 3 / 3 = E n 1 + ( n 1 ) 3 / 3 + n 2 n 3 / 3 = E n 1 + n 1 / 3 \begin{aligned}E_n=Sn-n^3/3&=S_{n-1}+n^2-n^3/3\\&=E_{n-1}+(n-1)^3/3+n^2-n^3/3 \\ &=E_{n-1}+n-1/3 \end{aligned}
可以很容易计算出 E n = ( n + 1 ) n / 2 n / 3 E_n=(n+1)n/2-n/3
S n = E n + n 3 / 3 = ( n + 1 ) n / 2 n / 3 + n 3 / 3 = n ( n + 1 ) ( 2 n + 1 ) 6 S_n=E_n+n^3/3=(n+1)n/2-n/3+n^3/3=\frac{n(n+1)(2n+1)}{6}

方法五:展开和收缩
S n = 1 k n k 2 = 1 j k n k = 1 j n j k n k = 1 j n ( j + n 2 ) ( n j + 1 ) = 1 2 1 j n ( n ( n + 1 ) + j j 2 ) = 1 2 n 2 ( n + 1 ) + 1 4 n ( n + 1 ) 1 2 S n = 1 2 n ( n + 1 2 ) ( n + 1 ) 1 2 S n \begin{aligned}S_n=\sum_{1\leq k\leq n}k^2&=\sum_{1\leq j \leq k\leq n}k\\ & =\sum_{1\leq j\leq n}\sum_{j\leq k\leq n} k\\ &=\sum_{1\leq j\leq n}\left(\frac{j+n}{2}\right)(n-j+1)\\ & =\frac{1}{2}\sum_{1\leq j\leq n }(n(n+1)+j-j^2)\\&=\frac{1}{2}n^2(n+1)+\frac{1}{4}n(n+1)-\frac{1}{2}S_n\\&=\frac{1}{2}n(n+\frac12)(n+1)-\frac12S_n\end{aligned}
从单重和式变换到多重和式,初看是一种倒推,但实际上是进步。
我们不能指望不断的简化简化再简化,就像你不可能只向上爬坡而登上最高的山峰!

方法六:有限微积分
方法七:无限微积分

猜你喜欢

转载自blog.csdn.net/hefenghhhh/article/details/84825258