Introduction and Overview - University of Wisconsin–Stout

Download Report

Transcript Introduction and Overview - University of Wisconsin–Stout

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  Z 0
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
tk 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
F (n  j  1, k )

i  0 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)
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
 a j (n)
which is
j 1
s1 ( n  j  i, k  1)
a j ( n)

r1 ( n, k )
j 0
i  0 s2 ( 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
*
i 0
J
r2 (n, k ) s2 (n  j  i, k  1)
i 0
P0 ( k  1)
The left hand side we call
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
gives
tk
tk 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
tk :  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)
Sm   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
can
also write
m 1
m 1
Sm   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
Sm  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) (a0 ( j ) / a1 ( j ))
j 0
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 

t k 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


 a (n  1) 
P0 (k )  a0 (n  k  1)2  a1 (n  1)2

P0 (k  1)  a0 (n  k )
r (k )  (n  k  1)
s(k )  (k  1)
2
2
2
2
1
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 )  a1 (n  1) 1
2
2
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!