Pentagonal Number Theorem - Example Program

Example Program

Here is a simple Python program which computes p(n), the number of partitions, using the recurrence resulting from the pentagonal number theorem.

pentagonal = lambda n : n*(3*n-1)/2 def generalised_pentagonal(n): # 0, 1, -1, 2, -2 if n < 0: return 0 if n%2 == 0: return pentagonal(n/2+1) else: return pentagonal(-(n/2+1)) pt = for n in range (1, 1000+1): r = 0 f = -1 i = 0 while 1: k = generalised_pentagonal(i) if k > n: break if i%2==0: f = -f r += f*pt i += 1 pt.append(r) print pt

Read more about this topic:  Pentagonal Number Theorem

Famous quotes containing the word program:

    “Well, well,” he said to himself, “you are not in Belgium; let us begin our apprenticeship in earnest, and so long as we are in the woods, howl heartily with the wolves.”
    —For the State of Nebraska, U.S. public relief program (1935-1943)

    You can make as good a design out of an American turkey as a Japanese out of his native stork.
    —For the State of Illinois, U.S. public relief program (1935-1943)