Petkovšek's algorithm

From HandWiki

Petkovšek's algorithm (also Hyper) is a computer algebra algorithm that computes a basis of hypergeometric terms solution of its input linear recurrence equation with polynomial coefficients. Equivalently, it computes a first order right factor of linear difference operators with polynomial coefficients. This algorithm was developed by Marko Petkovšek in his PhD-thesis 1992.[1] The algorithm is implemented in all the major computer algebra systems.

Gosper-Petkovšek representation

Let 𝕂 be a field of characteristic zero. A nonzero sequence y(n) is called hypergeometric if the ratio of two consecutive terms is rational, i.e. y(n+1)/y(n)𝕂(n). The Petkovšek algorithm uses as key concept that this rational function has a specific representation, namely the Gosper-Petkovšek normal form. Let r(n)𝕂[n] be a nonzero rational function. Then there exist monic polynomials a,b,c𝕂[n] and 0z𝕂 such that

r(n)=za(n)b(n)c(n+1)c(n)

and

  1. gcd(a(n),b(n+k))=1 for every nonnegative integer k,
  2. gcd(a(n),c(n))=1 and
  3. gcd(b(n),c(n+1))=1.

This representation of r(n) is called Gosper-Petkovšek normal form. These polynomials can be computed explicitly. This construction of the representation is an essential part of Gosper's algorithm.[2] Petkovšek added the conditions 2. and 3. of this representation which makes this normal form unique.[1]

Algorithm

Using the Gosper-Petkovšek representation one can transform the original recurrence equation into a recurrence equation for a polynomial sequence c(n). The other polynomials a(n),b(n) can be taken as the monic factors of the first coefficient polynomial p0(n) resp. the last coefficient polynomial shifted pr(nr+1). Then z has to fulfill a certain algebraic equation. Taking all the possible finitely many triples (a(n),b(n),z) and computing the corresponding polynomial solution of the transformed recurrence equation c(n) gives a hypergeometric solution if one exists.[1][3][4]

In the following pseudocode the degree of a polynomial p(n)𝕂[n] is denoted by deg(p(n)) and the coefficient of nd is denoted by coeff(p(n),nd).

algorithm petkovsek is
    input: Linear recurrence equation k=0rpk(n)y(n+k)=0,pk𝕂[n],p0,pr0.
    output: A hypergeometric solution y if there are any hypergeometric solutions.

    for each monic divisor a(n) of p0(n) do
        for each monic divisor b(n) of pr(nr+1) do
            for each k=0,,r do
                p~k(n)=pk(n)j=0k1a(n+j)i=kr1b(n+i)
        d=maxk=0,,rdeg(p~k(n))
        for each root z of k=0rcoeff(p~k(n),nd)zk do
            Find non-zero polynomial solution c(n) of k=0rzkp~k(n)c(n+k)=0
            if such a non-zero solution c(n) exists then
                r(n)=za(n)/b(n)c(n+1)/c(n)
                return a non-zero solution y(n) of y(n+1)=r(n)y(n)

If one does not end if a solution is found it is possible to combine all hypergeometric solutions to get a general hypergeometric solution of the recurrence equation, i.e. a generating set for the kernel of the recurrence equation in the linear span of hypergeometric sequences.[1]

Petkovšek also showed how the inhomogeneous problem can be solved. He considered the case where the right-hand side of the recurrence equation is a sum of hypergeometric sequences. After grouping together certain hypergeometric sequences of the right-hand side, for each of those groups a certain recurrence equation is solved for a rational solution. These rational solutions can be combined to get a particular solution of the inhomogeneous equation. Together with the general solution of the homogeneous problem this gives the general solution of the inhomogeneous problem.[1]

Examples

Signed permutation matrices

The number of signed permutation matrices of size n×n can be described by the sequence y(n) which is determined by the recurrence equation4(n+1)2y(n)+2y(n+1)+(1)y(n+2)=0over . Taking a(n)=n+1,b(n)=1 as monic divisors of p0(n)=4(n+1)2,p2(n)=1 respectively, one gets z=±2. For z=2 the corresponding recurrence equation which is solved in Petkovšek's algorithm is4(n+1)2c(n)+4(n+1)c(n+1)4(n+1)(n+2)c(n+2)=0.This recurrence equation has the polynomial solution c(n)=c0 for an arbitrary c0. Hence r(n)=2(n+1) and y(n)=2nn! is a hypergeometric solution. In fact it is (up to a constant) the only hypergeometric solution and describes the number of signed permutation matrices.[5]

Irrationality of ζ(3)

Given the sum

a(n)=k=0n(nk)2(n+kk)2,

coming from Apéry's proof of the irrationality of ζ(3), Zeilberger's algorithm computes the linear recurrence

(n+2)3a(n+2)(17n2+51n+39)(2n+3)a(n+1)+(n+1)3a(n)=0.

Given this recurrence, the algorithm does not return any hypergeometric solution, which proves that a(n) does not simplify to a hypergeometric term.[3]

References

  1. 1.0 1.1 1.2 1.3 1.4 Petkovšek, Marko (1992). "Hypergeometric solutions of linear recurrences with polynomial coefficients". Journal of Symbolic Computation 14 (2–3): 243–264. doi:10.1016/0747-7171(92)90038-6. ISSN 0747-7171. 
  2. Gosper, R. William (1978). "Decision procedure for indefinite hypergeometric summation". Proc. Natl. Acad. Sci. USA 75 (1): 40–42. doi:10.1073/pnas.75.1.40. PMID 16592483. 
  3. 3.0 3.1 Petkovšek, Marko; Wilf, Herbert S.; Zeilberger, Doron (1996). A=B. A K Peters. ISBN 1568810636. OCLC 33898705. https://www.math.upenn.edu/~wilf/Downld.html. 
  4. Kauers, Manuel; Paule, Peter (2011). The concrete tetrahedron : symbolic sums, recurrence equations, generating functions, asymptotic estimates. Wien: Springer. ISBN 9783709104453. OCLC 701369215. 
  5. "A000165 - OEIS". https://oeis.org/A000165.