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:

    A candidate once called his opponent “a willful, obstinate, unsavory, obnoxious, pusillanimous, pestilential, pernicious, and perversable liar” without pausing for breath, and even his enemies removed their hats.
    —Federal Writers’ Project Of The Wor, U.S. public relief program (1935-1943)

    [T]he asphaltum contains an exactly requisite amount of sulphides for production of rubber tires. This brown material also contains “ichthyol,” a medicinal preparation used externally, in Webster’s clarifying phrase, “as an alterant and discutient.”
    State of Utah, U.S. public relief program (1935-1943)