1% Tests of the ZEILBERG package.
2
3% Authors: Gregor Stoelting, Wolfram Koepf (koepf@zib-berlin.de)
4
5load_package sum;
6% on time;
7
8% 1) Successful summations by the Gosper algorithm
9% R. W. Gosper, Jr.:
10% Decision procedure for indefinite hypergeometric summation,
11% Proc. Nat. Acad. Sci. USA 75 (1978), 40-42.
12
13gosper(k,k);
14gosper(k^2,k);
15gosper(k^3,k);
16gosper(k^4,k);
17gosper(k^5,k);
18% gosper(k^20,k);
19gosper((6*k+3)/(4*k^4+8*k^3+8*k^2+4*k+3),k);
20% gosper(2^k*(k^3-3*k^2-3*k-1)/(k^3*(k+1)^3),k);
21gosper(x*k,k);
22gosper(k*x^k,k);
23gosper(k*factorial(k),k);
24gosper(1/(k^2-1),k);
25gosper((1+2*k)/((1+k^2)*(k^2+2*k+2)),k);
26gosper((k^2+4*k+1)*factorial(k),k);
27gosper((4*k-3)*factorial(2*k-2)/factorial(k-1),k);
28gosper(gamma(k+n+2)*n/((k+n+1)*gamma(k+2)*gamma(n+1)),k);
29gosper((k+n)*factorial(k+n),k);
30gosper((3*(1+2*k))/((1+k^2)*(2+2*k+k^2)),k);
31% gosper((-25+15*k+18*k^2-2*k^3-k^4)/
32% (-23+479*k+613*k^2+137*k^3+53*k^4+5*k^5+k^6),k);
33% gosper(3^k*(2*k^4+4*k^3-7*k^2-k-4)/(k*(k+1)*(k^2+1)*((k+1)^2+1)),k);
34gosper(3^k*(4*k^2-2*k-3)/((2*k+3)*(2*k+1)*(k+1)*k),k);
35% gosper(2^k*(2*k^3+3*k^2-20*k-15)/
36% ((2*k+3)*(2*k+1)*(k+5)*(k+4)*(k+1)*k),k);
37% gosper(-2^k*((k+11)^2*(k+1)^2-2*(k+10)^2*k^2)/
38% ((k+11)^2*(k+10)^2*(k+1)^2*k^2),k);
39% gosper(-2^k*((k+6)^2*(k+1)^2-2*(k+5)^2*k^2)/
40% ((k+6)^2*(k+5)^2*(k+1)^2*k^2),k);
41% gosper(2^k*(k^4-14*k^2-24*k-9)/(k^2*(k+1)^2*(k+2)^2*(k+3)^2),k);
42% gosper(((k^2-k-n^2-n-2)*gamma(k+n+2)*gamma(n+1))/
43% (2*(-1)^k*2^k*(k+n+1)*gamma(-(k-n-1))*gamma(k+2)),k);
44% gosper(1/(k+1)*binomial(2*k,k)/(n-k+1)*binomial(2*n-2*k,n-k),k);
45gosper(3^k*(4*k^2+2*a*k-4*k-2-a)/((2*k+2+a)*(2*k+a)*(k+1)*k),k);
46gosper(2^k*(k^2-2*k-1)/(k^2*(k+1)^2),k);
47gosper((3*k^2+3*k+1)/(k^3*(k+1)^3),k);
48gosper((6*k+3)/(4*k^4+8*k^3+8*k^2+4*k+3),k);
49gosper(-(k^2+3*k+3)/(k^4+2*k^3-3*k^2-4*k+2),k);
50gosper(k^2*4^k/((k+1)*(k+2)),k);
51gosper((2*k-1)^3,k);
52gosper(3*k^2+3*k+1,k);
53gosper((k^2+4*k+2)*2^k,k);
54% gosper(2^k*(k^3-3*k^2-3*k-1)/(k^3*(k+1)^3),k);
55gosper(k*n^k,k);
56% gosper(3^k*(2*k^3+k^2+3*k+6)/((k^2+2)*(k^2+2*k+3)),k);
57% gosper(4*(1-k)*(k^2-2*k-1)/(k^2*(k+1)^2*(k-2)^2*(k-3)^2),k);
58% gosper(2^k*(k^4-14*k^2-24*k-9)/(k^2*(k+1)^2*(k+2)^2*(k+3)^2),k);
59gosper((1+k)/(1-k)+2/k,k);
60gosper(1/(k*(k+1)),k);
61gosper(1/(k*(k+2)),k);
62gosper(1/(k*(k+10)),k);
63% gosper(1/(k*(k+30)),k);
64gosper(1/(k*(k+1)*(k+2)),k);
65gosper(1/(k*(k+1)*(k+2)*(k+3)*(k+4)*(k+5)*(k+6)*(k+7)*(k+8)*(k+9)*
66	  (k+10)),k);
67gosper(Pochhammer(k-n,n),k);
68gosper((a+k-1)*Pochhammer(a,k),k);
69gosper((a-k-1)/Pochhammer(a-k,k),k);
70gosper(binomial(k,n),k);
71gosper(k*binomial(k,n),k);
72% gosper(k^10*binomial(k,n),k);
73gosper(1/binomial(k,n),k);
74gosper(k/binomial(k,n),k);
75% gosper(k^10/binomial(k,n),k);
76gosper(binomial(k-n,k),k);
77gosper((-1)^k*binomial(n,k),k);
78gosper((-1)^k/binomial(n,k),k);
79gosper((-1)^(k+1)*(4*k+1)*factorial(2*k)/
80(factorial(k)*4^k*(2*k-1)*factorial(k+1)),k);
81% term:=3^k*(3*k^2+2*a*k-4*k-2-a)/((2*k+2+a)*(2*k+a)*(k+1)*k)$
82% term:=sub(k=k+3,term)-term$
83% gosper(term,k);
84% clear(term);
85
86% 2) Examples for the Wilf-Zeilberger method:
87% H. S. Wilf and D. Zeilberger:
88% Rational functions certify combinatorial identities.
89% J. Amer. Math. Soc. 3, 1990, 147-158.
90
91% Binomial theorem
92summand:=binomial(n,k)/2^n$
93gosper(sub(n=n+1,summand)-summand,k);
94
95% Vandermonde
96summand:=binomial(n,k)^2/binomial(2*n,n)$
97gosper(sub(n=n+1,summand)-summand,k);
98
99% Gauss
100% summand:=factorial(n+k)*factorial(b+k)*factorial(c-n-1)*factorial(c-b-1)
101% /(factorial(n-1)*factorial(c-n-b-1)*factorial(k+1)*factorial(c+k)*
102% factorial(b-1))$
103% gosper(sub(n=n+1,summand)-summand,k);
104
105% Kummer
106% summand:=(-1)^(n+k)*factorial(2*n+c-1)*factorial(n)*factorial(n+c-1)/(
107% factorial(2*n+c-1-k)*factorial(2*n-k)*factorial(c+k-1)*factorial(k))$
108% gosper(sub(n=n+1,summand)-summand,k);
109
110% Saalschuetz
111% summand:=factorial(a+k-1)*factorial(b+k-1)*factorial(n)*
112% factorial(n+c-a-b-k-1)*factorial(n+c-1)/(factorial(k)*factorial(n-k)*
113% factorial(k+c-1)*factorial(n+c-a-1)*factorial(n+c-b-1))$
114% gosper(sub(n=n+1,summand)-summand,k);
115
116% Dixon
117% summand:=(-1)^k*binomial(n+b,n+k)*binomial(n+c,c+k)*binomial(b+c,b+k)*
118% factorial(n)*factorial(b)*factorial(c)/factorial(n+b+c)$
119% gosper(sub(n=n+1,summand)-summand,k);
120
121% 3) Results from Gosper's original work
122% R. W. Gosper, Jr.:
123% Decision procedure for indefinite hypergeometric summation,
124% Proc. Nat. Acad. Sci. USA 75 (1978), 40-42.
125
126% ff(k)=product(a+b*j+c*j^2,j,1,k);
127% gg(k)=product(e+b*j+c*j^2,j,1,k);
128
129operator ff,gg;
130
131let {ff(~k+~m) => ff(k+m-1)*(c*(k+m)^2+b*(k+m)+a)
132		     when (fixp(m) and m>0),
133ff(~k+~m) => ff(k+m+1)/(c*(k+m+1)^2+b*(k+m+1)+a)
134		when (fixp(m) and m<0)};
135
136let {gg(~k+~m) => gg(k+m-1)*(c*(k+m)^2+b*(k+m)+e)
137		     when (fixp(m) and m>0),
138gg(~k+~m) => gg(k+m+1)/(c*(k+m+1)^2+b*(k+m+1)+e)
139		when (fixp(m) and m<0)};
140
141gosper(ff(k-1)/gg(k),k);
142% gosper(ff(k-1)/gg(k+1),k);
143% gosper(ff(k-1)/gg(k+2),k);
144
145% ff(k)=product(a+b*j+c*j^2+d*j^3,j,1,k);
146% gg(k)=product(e+b*j+c*j^2+d*j^3,j,1,k);
147
148let {
149ff(~k+~m) => ff(k+m-1)*(d*(k+m)^3+c*(k+m)^2+b*(k+m)+a)
150		when (fixp(m) and m>0),
151ff(~k+~m) => ff(k+m+1)/(d*(k+m+1)^3+c*(k+m+1)^2+b*(k+m+1)+a)
152when (fixp(m) and m<0)};
153
154let {
155gg(~k+~m) => gg(k+m-1)*(d*(k+m)^3+c*(k+m)^2+b*(k+m)+e)
156		when (fixp(m) and m>0),
157gg(~k+~m) => gg(k+m+1)/(d*(k+m+1)^3+c*(k+m+1)^2+b*(k+m+1)+e)
158when (fixp(m) and m<0)};
159
160gosper(ff(k-1)/gg(k),k);
161gosper(ff(k-1)/gg(k+1),k);
162% Decision: no closed form solution exists
163
164% ff(k)=product(a+b*j+c*j^2+d*j^3+e*j^4,j,1,k);
165% gg(k)=product(f+b*j+c*j^2+d*j^3+e*j^4,j,1,k);
166
167let {
168ff(~k+~m) => ff(k+m-1)*(e*(k+m)^4+d*(k+m)^3+c*(k+m)^2+b*(k+m)+a)
169when (fixp(m) and m>0),
170ff(~k+~m) => ff(k+m+1)/(e*(k+m+1)^4+d*(k+m+1)^3+c*(k+m+1)^2+b*(k+m+1)+a)
171when (fixp(m) and m<0)};
172
173let {
174gg(~k+~m) => gg(k+m-1)*(e*(k+m)^4+d*(k+m)^3+c*(k+m)^2+b*(k+m)+f)
175when (fixp(m) and m>0),
176gg(~k+~m) =>
177   gg(k+m+1)/(e*(k+m+1)^4+d*(k+m+1)^3+c*(k+m+1)^2+b*(k+m+1)+f)
178      when (fixp(m) and m<0)};
179
180gosper(ff(k-1)/gg(k),k);
181
182% ff=product(j^3+b*j^2+c*j+(2*c-4*b+8),j,1,k);
183% gg=product(j^3+b*j^2+c*j,j,1,k)
184
185let {
186ff(~k+~m) => ff(k+m-1)*((k+m)^3+c*(k+m)^2+b*(k+m)+(2*c-4*b+8))
187when (fixp(m) and m>0),
188ff(~k+~m) => ff(k+m+1)/((k+m+1)^2+c*(k+m+1)^2+b*(k+m+1)+(2*c-4*b+8))
189when (fixp(m) and m<0)};
190
191let {
192gg(~k+~m) => gg(k+m-1)*((k+m)^3+c*(k+m)^2+b*(k+m)+1)
193		when (fixp(m) and m>0),
194gg(~k+~m) => gg(k+m+1)/((k+m+1)^2+c*(k+m+1)^2+b*(k+m+1)+1)
195when (fixp(m) and m<0)};
196
197gosper(ff(k-1)/gg(k),k);
198
199clear(ff,gg);
200
201% 4) Examples for which gosper decides that no hypergeometric term
202% antidifference exists
203
204gosper(factorial(k),k);
205gosper(factorial(2*k)/(factorial(k)*factorial(k+1)),k);
206% gosper(1/(factorial(k)*(k^4+k^2+1)),k);
207gosper(binomial(a,k),k);
208gosper(1/k,k);
209gosper((1+k)/(1-k),k);
210% gosper(3^k*(3*k^2+2*a*k-4*k-2-a)/((2*k+2+a)*(2*k+a)*(k+1)*k),k);
211gosper(factorial(k+n)*factorial(n)/
212((-1)^k*factorial(n-k)*factorial(k)*2^k),k);
213gosper(1/(k*(k+1/2)),k);
214gosper(Pochhammer(a,k),k);
215gosper(binomial(n,k),k);
216
217% 5) Finding recurrence equations for definite sums
218% D. Zeilberger,
219% A fast algorithm for proving terminating hypergeometric identities,
220% Discrete Math. 80 (1990), 207-211.
221
222sumrecursion(binomial(n,k),k,n);
223sumrecursion(k*binomial(n,k),k,n);
224% sumrecursion(
225% (-1)^k*binomial(2*n,k)*binomial(2*k,k)*binomial(4*n-2*k,2*n-k),k,n);
226sumrecursion(binomial(n,k)^2,k,n);
227sumrecursion(binomial(n,k)^2/binomial(2*n,n),k,n);
228% sumrecursion((-1)^k*binomial(n,k)^2,k,n);
229% Gauss
230sumrecursion(
231factorial(n+k)*factorial(b+k)*factorial(c-n-1)*factorial(c-b-1),k,n);
232sumrecursion(
233Pochhammer(a,k)*Pochhammer(b,k)/(factorial(k)*Pochhammer(c,k)),k,a);
234% Kummer
235sumrecursion((-1)^(n+k)*factorial(2*n+c-1)*factorial(n)*factorial(n+c-1)
236/(factorial(2*n+c-1-k)*factorial(2*n-k)*factorial(c+k-1)*
237   factorial(k)),k,n);
238sumrecursion((-1)^k/(
239factorial(2*n+c-1-k)*factorial(2*n-k)*factorial(c+k-1)*
240   factorial(k)),k,n);
241% Saalschuetz
242% sumrecursion(factorial(a+k-1)*factorial(b+k-1)*factorial(n)*
243% factorial(n+c-a-b-k-1)*factorial(n+c-1)/
244% (factorial(k)*factorial(n-k)*factorial(k+c-1)*
245% factorial(n+c-a-1)*factorial(n+c-b-1)),k,n);
246sumrecursion(factorial(a+k-1)*factorial(b+k-1)*factorial(n+c-a-b-k-1)/(
247factorial(k)*factorial(n-k)*factorial(k+c-1)),k,n);
248% Dixon
249% sumrecursion((-1)^k*binomial(n+b,n+k)*binomial(n+c,c+k)*
250%    binomial(b+c,b+k)*
251% factorial(n)*factorial(b)*factorial(c)/factorial(n+b+c),k,n);
252sumrecursion((-1)^k*binomial(n+b,n+k)*binomial(n+c,c+k)*
253   binomial(b+c,b+k),k,n);
254sumrecursion((-1)^(k-n)*binomial(2*n,k)^3,k,n);
255sumrecursion(
256(-1)^(k-n)*binomial(2*n,k)^3/(binomial(3*n,n)*binomial(2*n,n)),k,n);
257% Clausen
258% summand:=factorial(a+k-1)*factorial(b+k-1)/
259% (factorial(k)*factorial(-1/2+a+b+k))*factorial(a+n-k-1)*
260%     factorial(b+n-k-1)/(factorial(n-k)*factorial(-1/2+a+b+n-k))$
261% sumrecursion(summand,k,n);
262% Dougall
263% summand:=
264% pochhammer(d,k)*pochhammer(1+d/2,k)*pochhammer(d+b-a,k)*
265%   pochhammer(d+c-a,k)*
266% pochhammer(1+a-b-c,k)*pochhammer(n+a,k)*pochhammer(-n,k)/
267%    (factorial(k)*
268% pochhammer(d/2,k)*pochhammer(1+a-b,k)*pochhammer(1+a-c,k)*
269% pochhammer(b+c+d-a,k)*pochhammer(1+d-a-n,k)*pochhammer(1+d+n,k))$
270% sumrecursion(summand,k,n);
271% Apery
272sumrecursion(binomial(n,k)^2*binomial(n+k,k)^2,k,n);
273% sumrecursion(4*(-1)^k*binomial(m-1,k)*binomial(2*m-1,2*k)/
274% binomial(4*m-1,4*k)*(4*m^2+16*k^2-16*k*m+16*k-6*m+3)/
275% ((4*m-4*k-3)*(4*m-4*k-1)),k,m);
276sumrecursion((-1)^k*binomial(n,k)*binomial(k,n),k,n);
277sumrecursion((-1)^k*binomial(n,k)*binomial(2*k,n),k,n);
278sumrecursion((-1)^k*binomial(n,k)*binomial(k,j)^2,k,n);
279sumrecursion(binomial(n,k)*binomial(a,k),k,n);
280sumrecursion((3*k-2*n)*binomial(n,k)^2*binomial(2*k,k),k,n);
281sumrecursion(binomial(n-k,k),k,n);
282sumrecursion(binomial(n,k)*binomial(n+k,k),k,n);
283% sumrecursion(binomial(n+k,m+2*k)*binomial(2*k,k)*(-1)^k/(k+1),k,n);
284sumrecursion((-1)^k*binomial(n-k,k)*binomial(n-2*k,m-k),k,n);
285% sumrecursion((-1)^k*binomial(n-k,k)*binomial(n-2*k,m-k),k,m);
286sumrecursion(binomial(n+k,2*k)*2^(n-k),k,n);
287sumrecursion(binomial(n,k)*binomial(2*k,k)*(-1/4)^k,k,n);
288% sumrecursion(binomial(n,i)*binomial(2*n,n-i),i,n);
289sumrecursion((-1)^k*binomial(n,k)*binomial(2*k,k)*4^(n-k),k,n);
290sumrecursion((-1)^k*binomial(n,k)/binomial(k+a,k),k,n);
291% sumrecursion((-1)^k*binomial(n,k)/binomial(k+a,k),k,a);
292sumrecursion((-1)^(n-k)*binomial(2*n,k)^2,k,n);
293sumrecursion(factorial(a+k)*factorial(b+k)*factorial(n+c-a-b-k-1)/(
294factorial(k+1)*factorial(n-k)*factorial(k+c)),k,a);
295% sumrecursion(factorial(a+k)*factorial(b+k)*factorial(n+c-a-b-k-1)/(
296% factorial(k+1)*factorial(n-k)*factorial(k+c)),k,b);
297% sumrecursion(factorial(a+k)*factorial(b+k)*factorial(n+c-a-b-k-1)/(
298% factorial(k+1)*factorial(n-k)*factorial(k+c)),k,c);
299sumrecursion(binomial(2*n+1,2*p+2*k+1)*binomial(p+k,k),k,n);
300% sumrecursion(binomial(2*n+1,2*p+2*k+1)*binomial(p+k,k),k,p);
301sumrecursion(binomial(r,m)*binomial(s,t-m),m,r);
302% sumrecursion(binomial(r,m)*binomial(s,t-m),m,s);
303% sumrecursion(binomial(r,m)*binomial(s,t-m),m,t);
304sumrecursion(binomial(2*n+1,2*k)*binomial(m+k,2*n),k,n);
305% sumrecursion(binomial(2*n+1,2*k)*binomial(m+k,2*n),k,m);
306sumrecursion(binomial(n,k)*binomial(k,j)*x^j,k,n);
307% sumrecursion(binomial(n,k)*binomial(k,j)*x^j,k,j);
308% sumrecursion(binomial(n,k)*binomial(k,j)*x^k,k,n);
309sumrecursion(x*binomial(n+k,2*k)*((x^2-1)/4)^(n-k),k,n);
310sumrecursion(binomial(n+k-1,2*k-1)*(x-1)^(2*k)*x^(n-k)/k,k,n);
311sumrecursion(
3121/(k+1)*binomial(2*k,k)/(n-k+1)*binomial(2*n-2*k,n-k),k,n);
313sumrecursion(binomial(m,r)*binomial(n-r,n-r-q)*(t-1)^r,r,m);
314% sumrecursion(binomial(m,r)*binomial(n-r,n-r-q)*(t-1)^r,r,n);
315% sumrecursion(binomial(m,r)*binomial(n-r,n-r-q)*(t-1)^r,r,q);
316% sumrecursion(binomial(m,r)*binomial(n-r,n-r-q)*(t-1)^r,r,r);
317sumrecursion(Pochhammer(-n/2,k)*Pochhammer(-n/2+1/2,k)/
318(factorial(k)*Pochhammer(b+1/2,k)),k,n);
319% Watson
320% sumrecursion(pochhammer(a,k)*pochhammer(b,k)*pochhammer(c,k)/(
321% factorial(k)*pochhammer(1/2*(a+b+1),k)*pochhammer(2*c,k)),k,c);
322% sumrecursion(pochhammer(-m,j)*pochhammer(m+2*k+2,j)*pochhammer(k+1/2,j)/
323% (factorial(j)*pochhammer(k+3/2,j)*pochhammer(2*k+1,j)),j,k);
324sumrecursion((-1)^k*binomial(n,k)^3,k,n);
325% sumrecursion(pochhammer(-n,k)*pochhammer(n+2*a,k)*pochhammer(a,k)/(
326% factorial(k)*pochhammer(2*a/2,k)*pochhammer((2*a+1)/2,k))*(2/4)^k,k,n);
327% sumrecursion(pochhammer(-n,k)*pochhammer(n+4*a,k)*pochhammer(a,k)/(
328% factorial(k)*pochhammer(4*a/2,k)*pochhammer((4*a+1)/2,k))*(4/4)^k,k,n);
329% sumrecursion(binomial(n+k+1,n-k)*pochhammer(-n+k,j)*pochhammer(k+1/2,j)*
330% pochhammer(n+k+2,j)/(factorial(j)*pochhammer(k+3/2,j)*
331%    pochhammer(2*k+1,j)),j,n);
332% sumrecursion(pochhammer(-m,j)*pochhammer(m+2*k+2,j)*
333%    pochhammer(k+1/2,j)/(
334% factorial(j)*pochhammer(k+3/2,j)*pochhammer(2*k+1,j)),j,m);
335% sumrecursion(binomial(n+k+1,n-k)*pochhammer(-n+k,j)*
336%   pochhammer(k+1/2,j)*
337% pochhammer(n+k+2,j)/(factorial(j)*pochhammer(k+3/2,j)*
338%   pochhammer(2*k+1,j)),
339% j,k);
340% sumrecursion(pochhammer(a+b+c-n,j+l)*pochhammer(a+b-n/2,j+l)/
341% (factorial(j)*factorial(l)*pochhammer(a-n/2+1,j)*
342%   pochhammer(b-n/2+1,l)),j,a);
343% sumrecursion(pochhammer(a+b+c-n,j+l)*pochhammer(a+b-n/2,j+l)/
344% (factorial(j)*factorial(l)*pochhammer(a-n/2+1,j)*
345%   pochhammer(b-n/2+1,l)),j,b);
346sumrecursion(Pochhammer(a+b+c-n,j+l)*Pochhammer(a+b-n/2,j+l)/
347(factorial(j)*factorial(l)*Pochhammer(a-n/2+1,j)*
348   Pochhammer(b-n/2+1,l)),j,c);
349% sumrecursion(
350% (-1)^(a+b+c)*gamma(a+b+c-d/2)*gamma(d/2-c)*gamma(a+c-d/2)*
351%    gamma(b+c-d/2)/
352% (gamma(a)*gamma(b)*gamma(d/2)*gamma(a+b+2*c-d)*(m^2)^(a+b+c-d))*
353% pochhammer(a+b+c-d,k)*pochhammer(a+c-d/2,k)/
354% (pochhammer(a+b+2*c-d,k)*factorial(k)),k,a);
355% sumrecursion(
356% (-1)^(a+b+c)*gamma(a+b+c-d/2)*gamma(d/2-c)*gamma(a+c-d/2)*
357%  gamma(b+c-d/2)/
358% (gamma(a)*gamma(b)*gamma(d/2)*gamma(a+b+2*c-d)*(m^2)^(a+b+c-d))*
359% pochhammer(a+b+c-d,k)*pochhammer(a+c-d/2,k)/
360% (pochhammer(a+b+2*c-d,k)*factorial(k)),k,b);
361% sumrecursion(
362% (-1)^(a+b+c)*gamma(a+b+c-d/2)*gamma(d/2-c)*gamma(a+c-d/2)*
363%  gamma(b+c-d/2)/
364% (gamma(a)*gamma(b)*gamma(d/2)*gamma(a+b+2*c-d)*(m^2)^(a+b+c-d))*
365% pochhammer(a+b+c-d,k)*pochhammer(a+c-d/2,k)/
366% (pochhammer(a+b+2*c-d,k)*factorial(k)),k,c);
367% sumrecursion(pochhammer(-n,k)*pochhammer(n+3*a,k)*pochhammer(a,k)/(
368% factorial(k)*pochhammer(3*a/2,k)*
369%    pochhammer((3*a+1)/2,k))*(3/4)^k,k,n);
370% summand:=k*(-1)^j*pochhammer(2*k+j+1,j)*pochhammer(2*k+2*j+2,n-k-j)/(
371% factorial(k+j)*factorial(j)*factorial(n-k-j))*exp(-(j+k)*t)$
372% summand:=k*(-1)^j*pochhammer(2*k+j+1,j)*pochhammer(2*k+2*j+2,n-k-j)/(
373% (k+j)*factorial(j)*factorial(n-k-j))*exp(-(j+k)*t)$
374% sumrecursion(summand,j,n);
375clear(summand);
376
377% 6) Finding recurrence equations for hypergeometric functions
378% Koornwinder, T. H.:
379% On Zeilberger's algorithm and
380% its q-analogue: a rigorous description.
381% J. of Comput. and Appl. Math. 48, 1993, 91-111.
382
383% Gauss
384hyperrecursion({a,b},{c},1,a);
385% Dougall
386% hyperrecursion({d,1+d/2,d+b-a,d+c-a,1+a-b-c,n+a,-n},
387%               {d/2,1+a-b,1+a-c,b+c+d-a,1+d-a-n,1+d+n},1,n);
388% Baxter
389% hyperrecursion({-n,-n-1,-n-2},{2,3},-1,n);
390% Krawtchouk polynomials
391% krawtchoukterm :=
392%    (-1)^n*p^n*binomial(NN,n)*hyperterm({-n,-x},{-NN},1/p,k)$
393% sumrecursion(krawtchoukterm,k,n);
394% sumrecursion(krawtchoukterm,k,x);
395% sumrecursion(krawtchoukterm,k,NN);
396% clear(krawtchoukterm);
397% hyperrecursion({-n,b,c+4},{b+1,c},1,n);
398hyperrecursion({-n,b,c+1,d+1},{b+1,c,d},1,n);
399
400% 7) Extended versions of Gosper's and Zeilberger's algorithms
401% Koepf, W.:
402% Algorithms for the indefinite and definite summation.
403% Konrad-Zuse-Zentrum Berlin (ZIB), Preprint SC 94-33, 1994.
404
405% extended Gosper algorithm
406extended_gosper(k*factorial(k/7),k,7);
407extended_gosper(k*factorial(k/2),k,2);
408extended_gosper(k*factorial(k/2),k);
409extended_gosper(binomial(k/2,n),k);
410extended_gosper(binomial(n,k/2)-binomial(n,k/2-1),k);
411
412% extended Zeilberger algorithm
413% extended_sumrecursion(binomial(n,k)*binomial(k/2,n),k,n,1,2);
414sumrecursion(binomial(n,k)*binomial(k/2,n),k,n);
415extended_sumrecursion(binomial(n/2,k),k,n,2,1);
416sumrecursion(binomial(n/2,k),k,n);
417% sumrecursion(hyperterm({a,b,a+1/2-b,1+2*a/3,-n},
418% {2*a+1-2*b,2*b,2/3*a,1+a+n/2},4,k)/
419% (factorial(n)*2^(-n)/factorial(n/2))/
420% hyperterm({a+1,1},{a-b+1,b+1/2},1,n/2),k,n);
421
422% Watson
423% sumrecursion(pochhammer(a,k)*pochhammer(b,k)*pochhammer(c,k)/(
424% factorial(k)*pochhammer(1/2*(a+b+1),k)*pochhammer(2*c,k))/
425% (GAMMA(1/2)*GAMMA(1/2+c)*GAMMA(1/2+a/2+b/2)*GAMMA(1/2-a/2-b/2+c))*
426% GAMMA(1/2+a/2)*GAMMA(1/2+b/2)*GAMMA(1/2-a/2+c)*GAMMA(1/2-b/2+c),k,a);
427% hyperrecursion({a,b,c},{1/2*(a+b+1),2*c},1,a);
428% hyperrecursion({a,b,c},{1/2*(a+b+1),2*c},1,b);
429
430% 8) Closed form representations of hypergeometric sums
431
432% Vandermonde
433hypersum({-n,b},{c},1,n);
434% Saalschuetz
435hypersum({a,b,-n},{c,1+a+b-c-n},1,n);
436% Kummer
437hypersum({a,-n},{1+a+n},-1,n);
438% Dixon
439hypersum({a,b,-n},{1+a-b,1+a+n},1,n);
440% Dougall
441% hypersum({a,1+a/2,b,c,d,1+2*a-b-c-d+n,-n},
442% {a/2,1+a-b,1+a-c,1+a-d,1+a-(1+2*a-b-c-d+n),1+a+n},1,n);
443% Clausen
444% hypersum({a,b,1/2-a-b-n,-n},{1/2+a+b,1-a-n,1-b-n},1,n);
445
446hypersum({a,1+a/2,c,d,-n},{a/2,1+a-c,1+a-d,1+a+n},1,n);
447hypersum({a,1+a/2,d,-n},{a/2,1+a-d,1+a+n},-1,n);
448
449% m-fold case:
450hypersum({-n,-n,-n},{1,1},1,n);
451% hypersum({-n,n+3*a,a},{3*a/2,(3*a+1)/2},3/4,n);
452
453% 9) Hypergeometric representations
454
455sumtohyper(binomial(n,k)^3,k);
456sumtohyper(binomial(n,k)/2^n-sub(n=n-1,binomial(n,k)/2^n),k);
457sumtohyper(binomial(k+j-1,k-j)*2*(-1)^(j+1)*factorial(2*j-1)/
458factorial(j-1)/factorial(j+1)*x^j,j);
459% term:=1/(n-1+k)*(1/2-1/2*x)^k/n*binomial(k-n-1,-n-1)*k*
460%         binomial(n-1+k,n-1);
461% sumtohyper(sub(n=n+1,term)-term,k);
462
463end;
464