SumTools[Hypergeometric]
Zeilberger
perform Zeilberger's algorithm
ZeilbergerRecurrence
construct the Zeilberger's recurrence
Verify
verify the result from Zeilberger's algorithm
Calling Sequence
Parameters
Description
Examples
References
Zeilberger(T, n, k, En)
Zeilberger(T, n, k, En, 'gosper')
ZeilbergerRecurrence(T, n, k, f, l..u)
Verify(T, 'Zpair', n, k, En)
T
-
hypergeometric term of n and k
n
name
k
En
name; denote the shift operator with respect to n
f
name of the recurrence function
l..u
range for k
'Zpair'
list of two elements specifying a Z-pair for T
For a specified hypergeometric term T⁡n,k of n and k, the Zeilberger(T, n, k, En) command constructs for T⁡n,k a Z-pair L,G that consists of a linear difference operator with coefficients that are polynomials of n over the complex number field
L=av⁡n⁢Env+...+a1⁡n⁢En+a0⁡n
and a function G⁡n,k such that
L⁢T⁡n,k=G⁡n,k+1−G⁡n,k.
En is the shift operator with respect to n, defined by En⁡T⁡n,k=T⁡n+1,k.
The algorithm uses an item-by-item examination of the order v of L. It starts with the value of 0 for v and increases v until it is successful in finding a Z-pair L,G provided that such a pair exists. Note that a maximum value of the order of the difference operator L in the Z-pair L,G must be specified. This can be controlled by assigning a value to the global variable _MAXORDER (the default value of _MAXORDER is 6). Additionally, by assigning values to the global variables _MINORDER and _MAXORDER, the algorithm is restricted to finding a Z-pair L,G for T⁡n,k such that the order of L is between _MINORDER and _MAXORDER.
The algorithm has two implementations. The default implementation is based on the universal denominators, and another one uses a variant of Gosper's algorithm. With the 'gosper' option, Gosper-based implementation is used.
The output from the Zeilberger command is a list of two elements L,G representing the computed Z-pair L,G.
The ZeilbergerRecurrence(T, n, k, f, l..u) command constructs the Zeilberger's recurrence. The function first computes the Z-pair L,G for T and sums both sides of the relation L⁢T⁡n,k=G⁡n,k+1−G⁡n,k over k in the specified range l..u. This yields in general an inhomogeneous recurrence equation.
The possible ranges of l..u include r⁢n+s..u⁢n+v, r⁢n+s..∞, −∞..u⁢n+v, and -infinity..infinity where r, s, u, and v are integers.
The Verify(T, 'Zpair', n, k, En) command verifies the correctness of the result ('Zpair') returned from Zeilberger, that is, it tries to verify that:
with⁡SumToolsHypergeometric:
T≔−1k⁢binomial⁡2⁢n−2⁢k,n−k⁢binomial⁡2⁢k,k
T≔−1k⁢2⁢n−2⁢kn−k⁢2⁢kk
Zpair≔Zeilberger⁡T,n,k,En:
L≔Zpair1
L≔−n−2⁢En2+16⁢n+16
G≔Zpair2
G≔4⁢−2⁢n+2⁢k−1⁢k⁢−1k⁢2⁢n−2⁢kn−k⁢2⁢kk−n−1+k⁢−n−2+k
Verify⁡T,Zpair,n,k,En
true
Maple returns an error if no Z-pair is found in the specified order range (by default order⁡L≤6).
T≔2⁢n+3n2−1⁢n+8⁢k+1!
T≔2⁢n+3⁢n+8⁢k+1!n2−1
Zeilberger⁡T,n,k,En
Error, (in SumTools:-Hypergeometric:-Zeilberger) No recurrence of order 6 was found
Try Zeilberger's algorithm with order of L restricted to the range from 7 to 9.
_MINORDER≔7:_MAXORDER≔9:
L≔−2⁢n3−35⁢n2−174⁢n−189⁢En8+2⁢n3+19⁢n2−2⁢n−19
_MINORDER≔0:
T≔−1k⁢binomial⁡n+1,k+1binomial⁡a⁢k+1a,k
T≔−1k⁢n+1k+1a⁢k+1ak
ZeilbergerRecurrence⁡T,n,k,f,0..n
−f⁡n+f⁡n+1=1n⁢a+a+1
Petkovsek, M.; Wilf, H.; and Zeilberger, D. A=B. Wellesley, Massachusetts: A K Peters, Ltd., 1996.
Zeilberger, D. "The Method of Creative Telescoping." Journal of Symbolic Computing. Vol. 11. (1991): 195-204.
See Also
SumTools[Hypergeometric][DefiniteSum]
SumTools[Hypergeometric][ExtendedZeilberger]
SumTools[Hypergeometric][Gosper]
SumTools[Hypergeometric][IsZApplicable]
SumTools[Hypergeometric][MinimalZpair]
SumTools[Hypergeometric][ZpairDirect]
sumtools[hyperrecursion]
sumtools[sumrecursion]
Download Help Document