SumTools[Hypergeometric] - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Discrete Mathematics : Summation and Difference Equations : SumTools : Hypergeometric Subpackage : SumTools/Hypergeometric/Zeilberger

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

Calling Sequence

Zeilberger(T, n, k, En)

Zeilberger(T, n, k, En, 'gosper')

ZeilbergerRecurrence(T, n, k, f, l..u)

Verify(T, 'Zpair', n, k, En)

Parameters

T

-

hypergeometric term of n and k

n

-

name

k

-

name

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

Description

• 

For a specified hypergeometric term Tn,k of n and k, the Zeilberger(T, n, k, En) command constructs for Tn,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=avnEnv+...+a1nEn+a0n

  

and a function Gn,k such that

LTn,k=Gn,k+1Gn,k.

• 

En is the shift operator with respect to n, defined by EnTn,k=Tn+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 Tn,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 LTn,k=Gn,k+1Gn,k over k in the specified range l..u. This yields in general an inhomogeneous recurrence equation.

• 

The possible ranges of l..u include rn+s..un+v, rn+s.., ..un+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:

LTn,k=Gn,k+1Gn,k.

Examples

withSumToolsHypergeometric:

T1kbinomial2n2k,nkbinomial2k,k

T−1k2n2knk2kk

(1)

ZpairZeilbergerT,n,k,En:

LZpair1

Ln2En2+16n+16

(2)

GZpair2

G42n+2k1k−1k2n2knk2kkn1+kn2+k

(3)

VerifyT,'Zpair',n,k,En

true

(4)

Maple returns an error if no Z-pair is found in the specified order range (by default orderL6).

T2n+3n+8k+1!n21

T2n+3n+8k+1!n21

(5)

ZeilbergerT,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.

_MINORDER7:_MAXORDER9:

ZpairZeilbergerT,n,k,En:

LZpair1

L2n335n2174n189En8+2n3+19n22n19

(6)

VerifyT,'Zpair',n,k,En

true

(7)

_MINORDER0:

T1kbinomialn+1,k+1binomialak+1a,k

T−1kn+1k+1ak+1ak

(8)

ZeilbergerRecurrenceT,n,k,f,0..n

fn+fn+1=1an+a+1

(9)

References

  

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]

SumTools[Hypergeometric][DefiniteSum]

SumTools[Hypergeometric][ExtendedZeilberger]

SumTools[Hypergeometric][Gosper]

SumTools[Hypergeometric][IsZApplicable]

SumTools[Hypergeometric][MinimalZpair]

SumTools[Hypergeometric][ZpairDirect]

sumtools[hyperrecursion]

sumtools[sumrecursion]