Variations on Gosper's Algorithm

By Andrew Lohr


.pdf   .tex  
First written: November 2, 2017.

This version: November 27, 2017.


We discus an approach to compute indefinite summations. The approach given here differs from the popular Gosper's algorithm for computing hypergeometric sums in two ways. The first not good, in that, unlike Gosper's algorithm, this procedure is not guarenteed to evaluate a summation if a formula for it if one exists. The second good, in that it allows for much broader classes of functions to be summed. For example, we consider the multi basic sequences, which allow for more than just rational functions to be ratios of successive terms, as is the case with hypergeometric sequences.


Maple Package

This paper is provided with an accompaning Maple package TEL. It's main feature is that it finds descriptions of given indefinite summations. It has two different procedures to call depending on whether you want to try to find a hyper geometric or a multibasic solution. It also, unfortunately, sometimes needs hints as to how to guess at a formula for the limit of the summation. As mentioned in the paper there are many tools for analyzing hypergeometric descriptions, in particular, to compute asymptotics from what this program outputs, you can use the wonderful package AsyRec. There is a detailed Help function written into the package which you can access by typing Help(PMG) after reading the package.

Sample Input and Output for PMG

  • If you wanted to evaluate the sum of 1/((n^4+n^2+1)*n!) input gives the output.

  • Sometimes it needs hints in order to know how to guess the limit of a summation. For example when summing (n^2+1)/(2*n)! the limit can either be represented using powers of e or using hypergeometric trig functions. This example computes that summation. input gives the output.

  • The procedure is even quite spritely when given very messy inputs. For example, summing -(36*n^9-126*n^8+489*n^7-1343*n^6+1633*n^5-784*n^4-582*n^3-310*n^2-735*n+237)/((n^3-2*n^2+11*n-3)*(n^3+n^2+10*n+7)*(2*n)!) It's quickly able to indentify the limit of the summation, and then provide a formula for the indefinite sum. input gives the output.

  • to compute sums that allow for multibasic solutions, input gives the output.


Andrew Lohr's Home Page