More documentation and comment out debugging print.
[maxima.git] / share / contrib / Zeilberger / testZeilberger.mac
blob021e6b69b5daa4f5ffa535ed6862fd6a9b1d24e0
2 /* ------------------------------ */
3 /* Gosper's algorithm's Test File */
5 g1:(-1)^k*k/(4*k^2-1);
7 g2:1/(4*k^2-1);
9 g3:x^k;
11 g4:(-1)^k*a!/(k!*(a-k)!);
13 g5:k*k!;
15 g6:(k+1)*k!/(k+1)!;
17 /* Non-Gosper summable                                        */
18 /* It has been checked against the Mathematica package "Zb"   */
19 /* by Paule/Schorn/Riese available at www.risc.uni-linz.ac.at */
20 g7:1/((a-k)!*k!);
22 /* --------------------------------- */
23 /* Zeiberger's Algorithm's Test File */
25 f1 : binomial(n,k);
27 f2 : binomial(n,k)^2;
29 f3 : binomial(n,k)^3;
31 f4 : binomial(n,k)^4;
33 f5 : binomial(n,k)^5;
35 f6 : binomial(n,k)^6;
37 f7 : binomial(n,k)^7;
39 f8 : binomial(n,k)^8;
41 f9: binomial(n,k)^9;
43 f10: binomial(n,k)^10;
45 /* Binomial theorem */
46 h1: binomial(n,k)*x^k;
48 /* Vandermonde identity recurrence */
49 h2: binomial(a, k)* binomial(b, n-k);
51 /* Dixon's identity */
52 h3: binomial(n+b, n+k)* binomial(n+c, c+k)*binomial(b+c, b+k)*(-1)^k;
54 /* Karlsson-Gosper identity 1 */
55 h4: binomial(n,k)*(n-1/4)!/(n-k-1/4)!/(2*n+k + 1/4)!*9^(-k);
57 /* Karlsson-Gosper identity 2 */
58 h5: binomial(n,k) * (n-1/4)! / (n-k-1/4)! / (2*n+k+5/4)! * 9^(-k);
60 /* Wilson polynomials recurrence */
61 h6: binomial(n,k) * (n+a+b+c+d-2+k)! * (a+x+k-1)! * (a-x+k-1)! /
62                (n+a+b+c+d-2)! / (a+b+k-1)! / (a+c+k-1)! / (a+d+k-1)! * (-1)^k;
65 /* Wilson polynomials without constants in k (for debugging) */
66 h6b : removeBinomial(h6)/(n!)*((n+d+c+b+a-2)!);
68 /* Laguerre-Orthogonality */
69 h7: (k+k2)! * (n1)! * (n2)! / (k)! / (n1-k)! / (k2)! / (n2-k2)! / 
70                 (k)! / (k2)! * (-1)^k;
72 /*  Fibonacci-Recurrence */
73 h8: (-k+n)! / k! / (-2*k+n)!;
75 /* Trinomial coefficients */
76 h9: n! / k! / (k+m)! / (-2*k-m+n)!;
78 /*  First special case of Strehl identity (MEMO, Feb 25, 1992) */
79 h10: binomial(n, k)^2 * binomial( 2*k, k);
82 /* Second special case of Strehl identity (MEMO, Feb 25, 1992) */ 
83 h11: binomial(n, k)^2 * binomial( 2*k, k+a);
85 /* Third special case of Strehl identity (MEMO, Feb 25, 1992) */
86 h12: binomial(n, k)^2 * binomial( 2*k, k) * binomial(2*k,n-k);
88 /* Fibonacci recurrence */
89 h13: (n+k)! * n! / k!^3 / (n-k)!^2;
91 /* Debugging artificial examples */
92 d1 : (2*n+k-1)!/(4*n+2*k)!;
94 d2 : (3*n+k-1)!/(6*n+2*k)!;
97 GOSPER_TEST :
98   [[g1,k,n,0],[g2,k,n,0],[g3,k,n,0],
99    [g4,k,n,0],[g5,k,n,0],[g6,k,n,0]];
101 EASY_TEST :
102 [[f1,k,n,1],[f2,k,n,1],[f3,k,n,2],[f4,k,n,2],
103  [h1,k,n,1],[h2,k,n,1],[h8,k,n,2],[h9,k,n,2],
104  [h10,k,n,2],[h13,k,n,2],[d1,k,n,1],[d2,k,n,1]];
106 HARD_TEST :
107 [[h3,k,n,1],[h4,k,n,1],[h5,k,n,1],[h7,k,n1,1],[h11,k,n,3]];
109 EXTREME_TEST : [[f5,k,n,3], [h6,k,n,2],[h12,k,n,5]];
111 FULL_TEST : append(GOSPER_TEST,EASY_TEST,
112                    HARD_TEST,EXTREME_TEST);
114 kill (g1, g2, g3, g4, g5, g6, g7,
115     f1, f2, f3, f4, f5, f6, f7, f8, f9, f10,
116     h1, h2, h3, h4, h5, h6, h6b, h7, h8, h9, h10, h11, h12, h13,
117     d1, d2);