Creative Telescoping Zeilberger’s Algorithm By Dylan Heeg Christopher Jordan Deanne Pieper Brent Serum Introduction and Overview Computerized Proofs and Combinatorial Identities By Deanne Pieper Some proofs are essentially computations. In particular, proofs of combinatorial identities are mostly computational. With computers, it has been possible to devise algorithms to do these computations and prove combinatorial identities. What is a Combinatorial Identity? Some examples of combinatorial identity are: Or, n n 2 k k 2 n 2n k k n What is a Proper Hypergeometric Function? U F (n, k ) P(n, k ) (a n b k c )! i i i i 1 V (u n v k w )! i i * xk i i 1 Where 1.) P(n,k) ~ Polynomial 2.) ai’s, bi’s, ui’s, vi’s, ci’s, wi’s are in z 3.) 0 u, v < 4.) x is indeterminate (i.e. a variable) Proper Hypergeometric Function Example 1 (n 3k )! F (n, k ) n 3k 1 (n 3k 1)! Sister Celine’s Algorithm is used in solving definite hypergeometric summations. While Gosper’s Algorithm solves indefinite hypergeometric summations. A Review of Sister Celine’s Algorithm Celine’s Theorem (The Fundamental Theorem) Suppose F(n,k) is proper hypergeometric. Then, F(n,k) satisfies a k-free recurrence relation of the form I J a i 0 j 0 i, j ( n) f ( n j , k i ) 0 for some I, J that are positive integers Moreover, there will be a particular pair (I*, J*) that will work with J * bs vs s s I * 1 deg( P) J * as u s 1 s s I J a i 0 j 0 i, j ( n) f ( n j , k i ) 0 Holds that every point (n,k) where F(n,k) 0 and all the values of F that occur in it are well defined A Review of Gosper’s Algorithm Gosper’s Algorithm Input:{t Output: n } (if possible) Zn Steps: i) compute r(n) ii) Perform Gosper Factorization a ( n) c( n 1) r ( n) b( n) c ( n) Gosper’s Algorithm iii) Solve Gosper’s Polynomial Recurrence a(n) x(n 1) b(n 1) x(n) c(n) iv) Return b(n 1) x(n) Zn tn c ( n) v) Set Sn Z n Z0 Zeilberger’s Creative Telescoping Algorithm Zeilberger’s Theorem Let’s take a look at the theorem that this algorithm is based on. Let F(n,k) be a proper hypergeometric term. Then F satisfies a nontrivial recurrence of the form J a (n) F (n j, k ) G(n, k 1) G(n, k ) j 0 j G (n, k ) in which F (n, k ) is a rational function of n and k. Zeilberger’s Algorithm Zeilberger’s Algorithm is a hybrid of Celine’s and Gosper’s Algorithms. They both play roles in the completion of the Creative Telescoping proof and example we will get to shortly…. A General Description…. The problem? F n : F (n, k ) n Strategy: find a Zeilberger Recurrence J a (n) F (n j, k ) G(n, k 1) G(n, k ) j 0 j Usual Assumptions i) F(n,k) Proper Hypergeometric G (n, k ) ii) F (n, k ) Rational in (n,k) The basic mechanics Let J t k : a j (n) F (n j, k ) a0 F (n, k ) ... a j F (n J , k ) j 0 We’ll be applying Gosper’s algorithm to these tk’s. J t k 1 tk a (n) F (n j, k 1) j 0 J j a ( n) F ( n j , k ) j 0 j Linear Recurrence Relations A homogenous linear recurrence equation with constant coefficients is one of the form: a0 X (n) a1 X (n 1) ... am X (n m) 0 \ We use its Characteristic(auxillary) equation to solve it. a0b a1b m m 1 ... am 0 This equation will produce (possibly repeated or even complex) roots: b1 , b2 ,..., bm We now have two possible cases to consider. Case 1 In this case the general solution to the problem is then given by linear combinations of the form: X (n) C b C b ... C b n 1 1 n 2 2 n m m Where the C’s are arbitrary constants determined in practice by initial conditions of the terms X(0),…,X(m-1). Case 2 A root b of multiplicity k will contribute the k terms n n k 1 n b , nb ,..., n b to the general solution. The mechanics of Zeilberger’s Algorithm General Observations Problem: to sum in closed form something of the form f (n) : F (n, k ) k Strategy: Find a Zeilberger recurrence. J This is of the form: a (n)F (n j, k ) G(n, k 1) G(n, k ) j 0 j General Observations Our unknowns in this recurrence are aj(n), J, and G(n,k). We assume the following F(n,k) is proper hypergeometric G (n, k ) is rational in n, k F (n, k ) Mechanics Define J tk : a j (n) F (n j, k ) j 0 This means tk a0 F (n, k ) a1F (n 1, k ) ... aJ F (n J , k ) Mechanics Now define J t k 1 r (k ) tk a (n) F (n j, k 1) j 0 J j a ( n) F ( n j , k ) j 0 j If we multiply both the top and bottom by F (n, k 1) F (n, k ) Mechanics We get the equation J a j (n) F (n j , k 1) / F (n, k 1) F (n, k 1) j 0 * F ( n, k ) J a j ( n ) F ( n j , k ) / F ( n, k ) j 0 Which is equal to r(k) Mechanics F ( n , k 1 ) Note that is a rational function F (n, k ) If we write F (n, k 1) r1 (n, k ) we know F ( n, k ) r2 (n, k ) that r1(n,k), r2(n,k) are polynomials Mechanics Similarly, we know that s1(n,k), s2(n,k) are polynomials when they are defined F (n, k ) s1 (n, k ) F (n 1, k ) s2 (n, k ) Mechanics F ( n j , k ) Also note that we can rewrite as F (n, k ) F (n j, k ) F (n j 1, k ) F (n 1, k ) * *... * F (n j 1, k ) F (n j 2, k ) F (n, k ) Which is j 1 i 0 F (n j 1, k ) F (n j i 1, k ) Mechanics Using our s1 and s2 functions this can be written as s1 (n j, k ) s1 (n j 1, k ) s1 (n 1, k ) * * ... * s2 (n j, k ) s2 (n j 1, k ) s2 (n 1, k ) Which condenses to j 1 s1 (n j i, k ) i 0 s2 ( n j i , k ) Mechanics Now our original j 1 t k 1 can be written as tk F ( n j , k 1) a j ( n) F ( n, k 1) r1 ( n, k ) j 0 i 0 * j 1 J F (n j , k ) r2 ( n, k ) a j ( n) F ( n, k ) j 0 i 0 J which is j 1 s1 ( n j i, k 1) a j ( n) r1 ( n, k ) j 0 i 0 s 2 ( n j i , k 1) * j 1 J s1 ( n j i, k ) r2 ( n, k ) a j ( n) j 0 i 0 s2 ( n j i, k ) J Mechanics Next we clear denominators. The LCD j 1of this fraction is j 1 s 2 i 0 (n j i, k 1) s2 (n j i, k ) i 0 Clearing denominators we get j 1 J J J a (n) s (n j i, k 1) s (n j i, k 1) j 0 j 1 i 0 i j J j 1 J a (n) s (n j i, k ) s (n j i, k ) j 0 j 1 i 0 r1 (n, k ) s2 (n j i, k ) 2 2 i 0 * i 0 J r2 (n, k ) s2 (n j i, k 1) i 0 Mechanics Now, we do some renaming of the parts of this fraction J j 1 J J a (n) s (n j i, k 1) s (n j i, k 1) j 0 j 1 i 0 i j J j 1 J a (n) s (n j i, k ) s (n j i, k ) j 0 j 1 i 0 r1 (n, k ) s2 (n j i, k ) 2 2 i 0 The left hand side we call * i 0 J r2 (n, k ) s2 (n j i, k 1) i 0 P0 ( k 1) P0 ( k ) The top of the right is r(k) and the bottom of the right is s(k). Mechanics So now we have a simple expression for t k 1 tk t k 1 r ( k ) P0 ( k 1) * tk s (k ) P0 ( k ) Relation to Gosper’s Algorithm r (k ) If we treat as the r(n) from Gosper’s s (k ) algorithm we perform the Gosper factorization and obtain r (k ) P2 (k ) P1 (k 1) * s (k ) P3 (k ) P1 (k ) Where gcd( P3 (k ), P2 (k j=0,1,2,… j )) 1 for Relation to Gosper’s Algorithm Substituting this into our previous t k 1 equation for t gives k t k 1 P0 (k 1) P1 (k 1) P2 (k ) * tk P0 (k ) P1 (k ) P3 (k ) Relation to Gosper’s Algorithm If we define P(k 1) : P0 (k 1) P1 (k 1) P(k ) : P0 (k ) P1 (k ) Then we get t k 1 P2 ( k ) P ( k 1) * tk P3 ( k ) P(k ) This is a Gosper factorization of t k 1 tk Relation to Gosper’s Algorithm We can now try to solve Gosper’s polynomial recurrence P2 (k )b(k 1) P3 (k 1)b(k ) P(k ) for b(k). If there exists a polynomial solution for n 1 b(k) then can be summed t k k Relation to Gosper’s Algorithm The process of finding b(k) allows us to find the aj ’s. b(k) is never actually used in finding the hypergeometic sum. The b(k) can be used to find G(n,k) although the G(n,k) is also not used. Finding G(n,k) First, define J t k : a j (n) F (n, k j ) G(n, k 1) G(n, k ) j 0 This means tk : G(n, k 1) G(n, k ) (compare with tk = Zk+1 - Zk from Gosper’s algorithm) Finding G(n,k) Now let P3 (m 1)b(m) S m tk Z m Z 0 tm Z 0 P ( m) k m 1 Since G(n,k) has compact support over k this will just be P3 (m 1)b(m) Sm tm P(m) Finding G(n,k) We m 1 can m 1 also write S m tk G (n, k 1) G (n, k ) k k ...G (n,0) G (n,1) G (n,1) G (n,0) ... G (n, m) G (n, m 1) Since G(n,m) has compact support over k, everything cancels out except for G(n,m). Thus S m G(n, m) Finding G(n,k) So we can change the variable m back to k and combine our two formulas for Sm to get P3 (k 1)b(k ) G(n, k ) tk P(k ) Finding J and f(n) In order to fully solve sums of the form J a (n)F (n j, k ) G(n, k 1) G(n, k ) j 0 j We need to know the unknowns. We will now go through the process of finding J and f(n). The aj(n)’s are found when solving for b(n). Finding Unknowns First, we must assume that G ( n, k ) has compact support in k for each n Thus if we sum our original equation over all k. We get J a j 0 j ( n) f ( n j ) 0 Finding Unknowns Next, we must examine several possible cases for J. Case 1: J = 1 This means that a0 (n) f (n) a1 (n) f (n 1) 0 Solving for f gives: f (n 1) a (n) 0 f ( n) a1 (n) n 1 So f (n) f (0) (a ( j ) / a ( j )) j 0 0 1 Finding Unknowns J 0 Case 2: J > 1 but {ai (n)} constant. This means we have are f (n) a0 f (n) a1 f (n 1) ... aJ f (n J ) Which can be solved. Finding Unknowns J 0 Case 3: J > 1 and {ai (n)} are polynomials. Alternatively we can say that f(n) can be expressed as a finite linear combination of hypergeometric terms. When that is the case, we can use something called Petkovšek’s algorithm f(n). Finding Unknowns We can pick a J that is bigger than needed and find the correct answer. However the smaller J is the less work required to solve the problem. There are algorithms that give an upper bound on J but we do not explore them here. IV. A Hand Example Implementing the Creative Telescoping Algorithm Take: n f (n) k 0 k K 2 Using Creative Telescoping n F (n, k ) k 2 Creative Telescoping Recurrence J a (n) F (n j, k ) G(n, k 1) G(n, k ) j 0 j n a j (n) j 0 k J 2 j G (n, k 1) G (n, k ) Then n t k a j (n) j 0 k J j 2 Next we guess J=1 and apply Gosper Theory n n 1 t k a0 a1 k k 2 2 n n 1 a1 tk 1 a0 k 1 k 1 2 n n 1 a1 a0 k 1 k 1 2 2 n n 1 a0 a1 k k 2 t k 1 tk 2 2 2 t k 1 tk n! (n 1)! a0 a1 ( k 1 )! ( n k 1 )! ( k 1 )! ( n k )! 2 2 (n 1)! n! a0 a1 k ! ( n k )! k ! ( n 1 k )! 2 Lcd (k 1)!(n 1 k )! 2 tk 1 a0 n!(n k )(n k 1) a1(n 1)!(n k 1) 2 2 tk a0 n!(k 1)(n k 1) a1(n 1)!(k 1) 2 2 tk 1 a0 (n k ) a1 (n 1) (n k 1) 2 2 2 tk a0 (n k 1) a1 (n 1) (k 1) 2 2 2 P0 (k ) a0 (n k 1) a1 (n 1) 2 2 P0 (k 1) a0 (n k ) 2 a1 (n 1) 2 r (k ) (n k 1) 2 s(k ) (k 1) 2 t (k 1) P0 (k 1) r (k ) t (k ) P0 (k ) s (k ) Gosper Factorize r (k ) (n k 1) 2 s(k ) (k 1) 2 P1(k ) 1 (n k 1) 1 2 (k 1) 1 2 P2 (k ) (n 1 k ) 2 P3 (k ) (k 1) 2 Gosper Side Condition Gcd ( P2 (k ), P3 (k h)) 1 Set For h {0,1,2,...} P(k ) P0 (k ) P1 (k ) P0 (k ) a0 (n 1 k ) 2 a1 (n 1) 2 1 This gives the final Gosper Factorization: t (k 1) P0 (k 1) P2 (k ) t (k ) P0 (k ) P3 (k ) a0 (n k ) 2 a1 (n 1) 2 (n 1 k ) 2 2 2 a0 (n 1 k ) a1 (n 1) (k 1) 2 Gosper Recurrence Using the fact that if the Gosper Factorization of t (k 1) A(k ) C (k 1) t (k ) B(k ) C (k ) Then the Gosper Recurrence is: A(n) x(n 1) B(n 1) x(n) c(n) We get a Gosper Recurrence of: P2 (k )b(k 1) P3 (k 1)b(k ) P(k ) Using the Method of Undetermined Coefficients for b(k ) k We get: 3(n 1) 2 a0 2(2n 1) a1 n 1 Plug these values into the original Zeilberger’s Recurrence The original recurrence n a j (n) j 0 k J 2 j G (n, k 1) G (n, k ) n n 1 G (n, k 1) G (n, k ) a0 (n) a1 (n) k k 2 2 n n 1 G (n, k 1) G (n, k ) 2(2n 1) (n 1) k k 2 Now sum both sides over k 2 2(2n 1) f (n) (n 1) f (n 1) 0 (n 1) f (n 1) 2(2n 1) f (n) 2(2n 1) f (n) f (n 1) (n 1) We Know f ( 0) 1 f (1) 2 f (0) 2 f ( 2) 3 f (1) 6 f ( 0) 1 a0 ( j ) f (n) f (0) j 0 a1 ( j ) n 1 2( 2 j 1) 2n j 1 j 0 n n 1 2n f (n) n Bibliography Petkovsek, Marko, Herbert Wilf, Doron Zeilberger. A=B. Massachusetts: Addison Wesley, Reading, 1968. We would like to thank everyone for coming and to Dr. D for everything he has done to help!