一些例子
求和式 Sn(z)=k=0∑n(kn+k)zk
首先还是根据常规的 Gosper 算法流程,求出
p(n,k)=p^(n,k)=(n+1)β0(n)+(n+1+k)β1(n)
t(n,k)=t(n,k)/(n+1)=k!(n+1)!(n+k)!zk
q(n,k)=(n+1+k)z
r(n,k)=k
注意到 deg(q−r)=deg(q+r),那么 s(n,k) 的次数 d 为
d=deg(p^)−deg(q−r)=0
这样我们就有
β0(n)=1, β1(n)=z−1, s(n,k)=1
这样一来就可以求出
β0(n)t(n,k)+β1(n)t(n+1,k)=T(n,k+1)−T(n,k)
从而 t(n,k)+(z−1)t(n+1,k)=T(n,k+1)−T(n,k)
其中 T(n,k)=r(n,k)s(n,k)t(n,k)=(k−1n+k)zk
对 k 求和,k=0∑n+1,求和到第 n+1 项,这样多出来一项 t(n,n+1)
记 Sn(z)=k=0∑nt(n,k)
Sn(z)+t(n,n+1)+(z−1)Sn+1(z)=T(n,n+2)−T(n,0)
=(n+12n+2)zn+2=2(n2n+1)zn+2
另外 t(n,n+1)=(n+12n+1)zn+1=(n2n+1)zn+1
Sn+1(z)=1−z1(Sn(z)+(1−2z)(n2n+1)zn+1)
我们立即有
Sn+1(21)=2Sn(21),另外还可以如下化简
两边同时乘以 (1−z)n+1 并且作代换 n←n+1 有
(1−z)nSn(z)=(1−z)n−1Sn−1(z)+(1−2z)(1−z)n−1(n2n−1)zn
实际上就是
(1−z)nSn(z)=(1−z)n−1Sn−1(z)+1−z1−2z(n2n−1)((1−z)z)n
令 F(n)=(1−z)nSn(z),从而
F(n)−F(0)=1−z1−2zk=1∑n(k2k−1)((1−z)z)k,其中 F(0)=1
这样就得到一个不可思议的封闭形式
(1−z)nk=0∑n(kn+k)zk=1+2−2z1−2zk=1∑n(k2k)(z(1−z))k
一些例子2
t(n,k)=(kn−k)zk
p(n,k)=p^(n,k)=(n+1−2k)β0(n)+(n+1−k)β1(n)
t(n,k)=t(n,k)/(n+1−2k)=(n−k)!zk/k!(n+1−2k)!
q(n,k)=(n+1−2k)(n−2k)z
r(n,k)=(n+1−k)k
另外注意到
Sn(−41)=2n+11(1+4z(1+1+4z)n+1−(1−1+4z)n+1)
括号内的部分可以划归成
=1−4z2(1n+1)1+4z+2(3n+1)(1+4z)3+⋯
由此 Sn(−41)=2n+12(n+1)=2nn+1
注意到如果 z=−41,那么 deg(q−r)=deg(q+r)=2
那么 deg(p^)−deg(q−r)=−1,那么此时考虑二阶递推
t^(n,k)=β0(n)t(n,k)+β1(n)t(n+1,k)+β2(n)t(n+2,k)
p(n,k)=p^(n,k)=(n+1−2k)(n+2−2k)β0(n)
+(n+1−k)(n+2−2k)β1(n)
+(n+1−k)(n+2−k)β2(n)
t(n,k)=t(n,k)/(n+1−2k)(n+2−2k)=k!(n+2−2k)!(n−k)!zk
q(n,k)=(n+2−2k)(n+1−2k)z
r(n,k)=(n+1−k)k
这样 deg(p^)−deg(q−r)=0,也就是说 s(n,k)=α0(n)
zα0=β0+β1+β2
4z+α0=4β0+2β1+β2
2(2n+3)zα0+(n+1)α0=2(2n+3)β0+(3n+4)β1+(2n+3)β2
可以推出一个解为
β0(n)=z,β1(n)=1,β2(n)=−1,α0(n)=1
zt(n,k)+t(n+1,k)−t(n+2,k)=T(n,k+1)−T(n,k)
其中 T(n,k)=r(n,k)s(n,k)t(n,k)=(k−1n+1−k)zk
方程两边同时对 k∈[0→n] 求和
zSn(z)+(Sn+1(z)−(n+10)zn+1)−(Sn+2(z)−(n+20)zn+2−(n+11)zn+1)
=T(n,n+1)−T(n,0)
又因为对所有 n⩾0 都有 (n+11)zn+1=(n0)zn+1=T(n,n+1)
T(n,0)=0
综上所述我们有
Sn+2(z)=Sn+1(z)+zSn(z),n⩾0
一些例子3
1978 年,法国数学家证明了 ζ(3)=1+231+331+431+⋯ 是无理数
其中用到一个重要的递推包括一个二项和
An=k∑(kn)2(kn+k)2
首先我们尝试 β0(n),β1(n),最后得到
(n+1−k)2β0(n)+(n+1+k)2β1(n)=(n+k+1)2(n−k+1)2α0(n)−k4α0(n)
发现无可行解 β0(n),β1(n),所以考虑使用 β2(n)
p(n,k)=(n+1−k)2(n+2−k)2β0(n)
+(n+1+k)2(n+2−k)2β1(n)
+(n+1+k)2(n+2+k)2β2(n)=p^(n,k)
t(n,k)=(n+1−k)2(n+2−k)2t(n,k)=k!4(n+2−k)!2(n+k)!2
q(n,k)=(n+1+k)2(n+2−k)2
r(n,k)=k4
注意到这里 q 有因子 (k+n+1),对应 (k+α)⇒α=n+1
而 r 有因子 k,对应 (k+β)⇒β=0,本来有 α−β=n+1>0
这本来是不满足 α−β 不是正整数这个条件的
但是这里我们把 n 看作参数,所以符合 Gosper 算法条件
注意到 q(n,k)−r(n,k)=−2k3+⋯,q+r=2k4+⋯
d=deg(p^)−deg(q+r)+1=4−4+1=1
但是我们尝试了 β0(n),β1(n) 失败了,所以转到二阶递推
此时不存在 β0(n),β1(n) 不全为 0 的解,应该考虑 Gosper 算法中下一步
令 d=−2λ′/λ,其中 λ 是 q+r 的最高次幂 kdR=k4 的系数 2
λ′ 是 q−r 中 k3 的系数 −2
所以取 s(n,k) 的最高幂为 d=2
s(n,k)=α2(n)k2+α1(n)k+α0(n)
求解该方程比较复杂,大致步骤如下
(n+1−k)2(n+2−k)2β0(n)+(n+1+k)2(n+2−k)2β1(n)+(n+k+1)2(n+k+2)2β2(n)
=(k4−2k3+((n+1)2+(n+2)2−4(n+1)(n+2))k2+2(n+1)(n+2)k+(n+1)2(n+2)2)
⋅(α2k2+(2α2+α1)k+(α2+α1+α0))
−k4(α2k2+α1k+α0)
[k0]:β0+β1+β2−α1−α2−α0=0
[k4]:β0+β1+β2+α1+(2n2+6n+6)α2=0
[k3]:(−4n−6)β0−2β1+(4n+6)β2=−2α0−(2n2+6n+5)α1−(2n2+6n+4)α2
[k2]:(6n2+18n+13)β0−(2n2+6n+3)β1+(6n2+18n+13)β2
=(−2n2−6n−3)α0+α1+(n4+6n3+15n2+18n+9)α2
[k]:−2(n+1)(n+2)(2n+3)β0+2(n+1)(n+2)β1+2(n+1)(n+2)(2n+3)β2
=(n+1)(n+2)(2α0+(2+(n+1)(n+2))α1+(2(n+1)(n+2)+2)α2)
首先从 [k],[k0] 的表达式推出
α0,α1,α2 均有 (2n+3) 因子
并且 β1 中有 (2n+3) 因子,(β0+β2) 中也一定有因子 (2n+3)
除去 (2n+3) 因子后的多项式记为 α′
那么根据 [k3],[k1] 表达式
−2β0−2β1′+2β2=−2α0′−(2n2+6n+5)α1′−(2n2+6n+4)α2′
−2β0+2β1′+2β2=2α0′+(n2+3n+4)α1′+(2n2+6n+6)α2′
4β1′=4α0′+(3n2+9n+9)α1′+(4n2+12n+10)α2′,同时除去因子 4
α(2n+3)α′4α′′
β1′=α0′+(3n2+9n+9)α1′′+(4n2+12n+10)α2′′
从 [k0],[k4] 表达式推出
2α1+(2n2+6n+7)α2+α0=0,又根据 [k3],[k] 的结论
可以推出 α1′,α0′,α2′ 均有因子 4
从而 α2′4α2′′ 表示从 α2′ 中除去因子 4 得到 α2′′
(2n2+6n+7)α2′′=−α0′′−2α1′′
这样就可以取 α2′′=2,方程左边 4n2+12n+14=4(n2+3n+2)+6=4(n+1)(n+2)+6
这样拼凑的原因是尽可能去构造 (2n+3)
这样我们就可以有
α2=2⋅4⋅(2n+3)=8(2n+3)
α0=−4(n+1)(n+2)⋅4⋅(2n+3)=−16(n+1)(n+2)(2n+3)
α1=−3⋅4⋅(2n+3)=−12(2n+3)
这样代入 [k3],[k] 推出的表达式,可以有
β1′=−16(n+1)(n+2)+(−3)⋅(3n2+9n+9)+2(4n2+12n+10)
=−17n2−51n−39
从而 β1=−(2n+3)(17n2+51n+39)
因为 β0+β2 中也有 (2n+3) 因子,可以考虑 β′=2n+3β0+β2
对于 [k2] 可以有
(6n2+18n+13)β′=6n4+36n3+85n2+93n+39,执行多项式除法
β′=(n2+3n+3)
同时根据 [k0] 我们也有
β′=α0′+α1′+α2′−β1′
=(17n2+51n+39)−16(n+1)(n+2)+8−12=n2+3n+3
从而我们有 β0+β1=(2n+3)(n2+3n+3)
而 (2n+3)(n2+3n+3)=(n+1)3+(n+2)3
从而我们有 β0=(n+1)3,β2=(n+2)3
综上所述
β0(n)=(n+1)3
β1(n)=−(2n+3)(17n2+51n+39)
β2(n)=(n+2)3
α0(n)=−16(n+1)(n+2)(2n+3)
α1(n)=−12(2n+3)
α2(n)=8(2n+3)
由此应用 Gosper 算法求解结果为
(n+1)3t(n,k)−(2n+3)(17n2+51n+39)t(n+1,k)
+(n+2)3t(n+2,k)=T(n,k+1)−T(n,k)
其中
T(n,k)=k4s(n,k)t(n,k)
=(2n+3)(8k2−12k−16(n+1)(n+2))(n+k)!2(k−1)!4(n+2−k)!21
关于 k 求和,就得到了一个不可思议的递归式
(n+1)3An+(n+2)3An+2=(2n+3)(17n2+51n+39)An+1
Gosper 算法其他讨论
对于 Gosper 算法,我们研究其正常项,即能够表示成
t(n,k)=f(n,k)(b1n+b1′k+b1′′)!⋯(bqn+bq′k+bq′′)!(a1n+a1′k+a1′′)!⋯(apn+ap′k+ap′′)!wnzk
形式的项
只要 t(n,k) 是一个正常项,就存在不全为 0 的多项式 ⟨β0(n),⋯,βl(n)⟩ 以及正常项 T(n,k)
使得 β0(n)t(n,k)+⋯+βl(n)t(n+l,k)=T(n,k+1)−T(n,k)
必要性
用算子方法,设 N 是使得 n 增加 1 的算子,K 是使得 k 增加 1 的算子
举例来说 N2K3t(n,k)=t(n+2,n+3),这样可以构造一个关于 N,K,n 的线性差分算子
H(N,K,n)=i=0∑Ij=0∑Jαi,j(n)NiKj
对于算子多项式,很显然如果 t(n,k) 是一个正常项,那么 H(N,K,n)t(n,k) 也是一个正常项
下面考虑构造,我们在计算 t(n,k)→t(n,k) 的时候
t(n,k)t(n+I,k)=(b1n+b1I)⋯p^(n,k),从而
t(n,k)=(b1n+b1I)⋯1t(n,k)
注意到如果分母有形式 (α−∣a1∣n),那么我们有
t(n,k)t(n+1,k)=(b1n+b1I)⋯(α−∣a1∣n−∣a1∣I)⋯
综上所述,可以定义一个基础项
t(n,k)I,J=(bin+bi′k+biI[bi>0]+bi′J[bi′>0]+bi′′)!∏i=1p(ain+ai′k+aiI[ai<0]+ai′J[ai<0]+ai′′)!wnzk
比如说 t(n,k)=(kn−2k)=k!(n−3k)!(n−2k)!,那么对应的基础项
t(n,k)I,J=(k+J)!(n−3k+I)!(n−2k−2J)!
这样构造,对于 0⩽i⩽I 并且 0⩽j⩽J
αi,j(n)NiKjt(n,k) 就等于 t(n,k)I,J 乘上一个关于 n,k 的多项式
多项式的有限和式仍为多项式,所以 H(N,K,n)t(n,k) 有对应的形式
充分性
尝试证明只要 t(n,k) 是正常项,就总是存在一个非零的线性差分算子 H(N,K,n) 使得
H(N,K,n)t(n,k)=0
如果 0⩽i⩽I 并且 0⩽j⩽J,平移之后的项 A(n,k)=NiKjt(n,k)=f(n,k)⋅t(n,k)I,J
观察 t(n,k) 的分子,注意到分子的最高次幂是
maxdeg((ain+ai′k+aiI[ai<0]+ai′J[ai′<0]+ai′′)!)
最坏情况下,有 ∣ai∣I+∣ai′∣J 个项相乘,所以 maxdeg(k)=∣ai∣I+∣ai′∣J
所以 A(n,k) 关于变量 k 的次数最多是
DI,J=deg(f)+∣a1∣I+∣a1′∣J+⋯+∣ap∣I+∣ap′∣J
+∣b1∣I+∣b1′∣J+⋯+∣bq∣I+∣bq′∣J
注意到 H(N,K,n)=i=0∑Ij=0∑J 能够构造出 (I+1)(J+1) 个 αi,j(n)
那么我们能够有 (I+1)(J+1) 个变量 αi,j(n),有 DI,J+1 个齐次线性方程
让 n 的幂指对应的系数从 [0,DI,J] 依次相等,我们就可以求解出 H
只要使得 (I+1)(J+1)>DI,J+1,就可以
可以选取足够大的 I,J,这不难做到,比如说
I=2A′+1,J=2A+deg(f)
其中
A=∣a1∣+⋯+∣ap∣+∣b1∣+⋯+∣bq∣
A′=∣a1′∣+⋯+∣ap′∣+∣b1′∣+⋯+∣bq′∣
证明几乎快完成了
考虑从 H(N,K,n)t(n,k)=0 过渡到相应的解
假设 H 是使得 K 有可能的最小次数
H(N,K,n) 看作是关于 K 的一个多项式,我们有
H(N,K,n)=H(N,1+(K−1),n)=H(N,1,n)−(K−1)G(N,K,n)
其中 G(N,K,n) 是一个线性差分算子
根据 H(N,K,n)t(n,k)=0,代入
H(N,1,n)t(n,k)=(K−1)G(N,K,n)t(n,k)
注意到如果令 G(N,K,n)t(n,k)=T(n,k),那么 KG(N,K,n)t(n,k)=T(n,k+1)
从而 H(N,1,n)t(n,k)=T(n,k+1)−T(n,k)
注意到 H(N,1,n) 与 k 无关,所以可以写成
H(N,1,n)=β0(n)+β1(n)N+⋯+βl(n)Nl
那么必然满足
β0(n)+β1(n)N+⋯+βl(n)Nl=T(n,k+1)−T(n,k)
所以 T(n,k) 是一个正常项
接下来只需要检验
H(N,1,n) 并非简单的零算子即可
假设它是一个零算子,那么 T(n,k+1)−T(n,k)=0,所以 T(n,k) 与 k 无关
于是就存在 β0(n),β1(n),使得
(β0(n)+β1(n)N)T(n,k)=0
但如果这样,我们之前记 T(n,k)=G(N,K,n)t(n,k)
那么 (β0(n)+β1(n)N)G(N,K,n)⋅t(n,k)=0
于是 (β0(n)+β1(n)N)G(N,K,n) 也是一个线性差分算子
使得 t(n,k) 变为 0,但注意到
H(N,K,n)=H(N,1,n)−(K−1)G(N,K,n),G(N,K,n) 的次数为 J−1
这与 J 的最小性矛盾,证明完毕