Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Pentagonal number theorem
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Theorem in number theory}} {{pp-sock|small=yes}} In [[mathematics]], [[Leonhard Euler|Euler]]'s '''pentagonal number theorem''' relates the product and series representations of the [[Euler function]]. It states that :<math>\prod_{n=1}^{\infty}\left(1-x^{n}\right)=\sum_{k=-\infty}^{\infty}\left(-1\right)^{k}x^{k\left(3k-1\right)/2}=1+\sum_{k=1}^\infty(-1)^k\left(x^{k(3k+1)/2}+x^{k(3k-1)/2}\right).</math> In other words, :<math>(1-x)(1-x^2)(1-x^3) \cdots = 1 - x - x^2 + x^5 + x^7 - x^{12} - x^{15} + x^{22} + x^{26} - \cdots.</math> The exponents 1, 2, 5, 7, 12, ... on the right hand side are given by the formula {{math|''g''<sub>''k''</sub> {{=}} ''k''(3''k'' β 1)/2}} for ''k'' = 1, β1, 2, β2, 3, ... and are called (generalized) [[pentagonal numbers]] {{OEIS|id=A001318}}. (The constant term 1 corresponds to <math>k=0</math>.) This holds as an identity of convergent [[power series]] for <math>|x|<1</math>, and also as an identity of [[formal power series]]. A striking feature of this formula is the amount of cancellation in the expansion of the product. == Relation with partitions == The identity implies a [[Recurrence relation|recurrence]] for calculating <math>p(n)</math>, the number of [[integer partition|partitions]] of ''n'': :<math>p(n)=p(n-1)+p(n-2)-p(n-5)-p(n-7)+\cdots</math> or more formally, :<math>p(n)=\sum_{k\neq 0} (-1)^{k-1}p(n-g_k)</math> where the summation is over all nonzero integers ''k'' (positive and negative) and <math>g_k </math> is the ''k''<sup>th</sup> generalized pentagonal number. Since <math>p(n)=0</math> for all <math>n<0</math>, the apparently infinite series on the right has only finitely many non-zero terms, enabling an efficient calculation of ''p''(''n''). ==Franklin's bijective proof== The theorem can be interpreted [[combinatorics|combinatorially]] in terms of [[Integer partition|partitions]]. In particular, the left hand side is a [[generating function]] for the number of partitions of ''n'' into an even number of distinct parts minus the number of partitions of ''n'' into an odd number of distinct parts. Each partition of ''n'' into an even number of distinct parts contributes +1 to the coefficient of ''x''<sup>''n''</sup>; each partition into an odd number of distinct parts contributes −1. (The article on [[Partition function (number theory)|unrestricted partition functions]] discusses this type of generating function.) For example, the coefficient of ''x''<sup>5</sup> is +1 because there are two ways to split 5 into an even number of distinct parts (4 + 1 and 3 + 2), but only one way to do so for an odd number of distinct parts (the one-part partition 5). However, the coefficient of ''x''<sup>12</sup> is β1 because there are seven ways to partition 12 into an even number of distinct parts, but there are eight ways to partition 12 into an odd number of distinct parts, and 7 β 8 = β1. This interpretation leads to a proof of the identity by canceling pairs of matched terms ([[Involution (mathematics)|involution]] method).<ref>{{Cite journal |last=Franklin |first=F. |date=1881 |title=Sur le developpement du produit (1 β ''x'')(1 β ''x''<sup>2</sup>)(1 β ''x''<sup>3</sup>) ... |journal=Comptes Rendus de l'AcadΓ©mie des Sciences de Paris, SΓ©rie A |volume=92 |pages=448β450}}</ref> Consider the [[Ferrers diagram]] of any partition of ''n'' into distinct parts. For example, the diagram below shows ''n'' = 20 and the partition 20 = 7 + 6 + 4 + 3. :[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:RedDot.svg|16px|o]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:RedDot.svg|16px|o]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]] Let ''m'' be the number of elements in the smallest row of the diagram (''m'' = 3 in the above example). Let ''s'' be the number of elements in the rightmost 45 degree line of the diagram (''s'' = 2 dots in red above, since 7 − 1 = 6, but 6 − 1 > 4). If ''m'' > ''s'', take the rightmost 45-degree line and move it to form a new row, as in the matching diagram below. :[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]]<br>[[Image:RedDot.svg|16px|o]][[Image:RedDot.svg|16px|o]] If m β€ s (as in our newly formed diagram where ''m'' = 2, ''s'' = 5) we may reverse the process by moving the bottom row to form a new 45 degree line (adding 1 element to each of the first ''m'' rows), taking us back to the first diagram. A bit of thought shows that this process always changes the parity of the number of rows, and applying the process twice brings us back to the original diagram. This enables us to pair off Ferrers diagrams contributing 1 and −1 to the ''x<sup>n</sup>'' term of the series, resulting in a net coefficient of 0 for ''x<sup>n</sup>''. This holds for every term ''except'' when the process cannot be performed on every Ferrers diagram with ''n'' dots. There are two such cases: 1) ''m'' = ''s'' and the rightmost diagonal and bottom row meet. For example, :[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]]<br>[[Image:RedDot.svg|16px|*]][[Image:RedDot.svg|16px|*]][[Image:RedDot.svg|16px|*]] Attempting to perform the operation would lead us to: :[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:RedDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:RedDot.svg|16px|*]]<br>[[Image:RedDot.svg|16px|*]] which fails to change the parity of the number of rows, and is not reversible in the sense that performing the operation again does ''not'' take us back to the original diagram. If there are ''m'' elements in the last row of the original diagram, then :<math>n=m+(m+1)+(m+2)+\cdots+(2m-1)=\frac {m(3m-1)}{2}=\frac {k(3k-1)}{2}</math> where the new index ''k'' is taken to equal ''m''. Note that the sign associated with this partition is (β1)<sup>''s''</sup>, which by construction equals (β1)<sup>''m''</sup> and (β1)<sup>''k''</sup>. 2) ''m'' = ''s'' + 1 and the rightmost diagonal and bottom row meet. For example, :[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:RedDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:RedDot.svg|16px|*]]<br>[[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:GrayDot.svg|16px|*]][[Image:RedDot.svg|16px|*]] Our operation requires us to move the right diagonal to the bottom row, but that would lead to two rows of three elements, forbidden since we're counting partitions into distinct parts. This is the previous case but with one fewer row, so :<math>n=m+(m+1)+(m+2)+\cdots+(2m-2)=\frac{(m-1)(3m-2)}{2}=\frac{k(3k-1)}{2},</math> where we take ''k'' = 1−''m'' (a negative integer). Here the associated sign is (−1)<sup>''s''</sup> with ''s'' = ''m'' − 1 = β''k'', therefore the sign is again (β1)<sup>''k''</sup>. In summary, it has been shown that partitions into an even number of distinct parts and an odd number of distinct parts exactly cancel each other, producing null terms 0''x<sup>n</sup>'', except if ''n'' is a generalized pentagonal number <math>n = g_k = k(3k-1)/2</math>, in which case there is exactly one Ferrers diagram left over, producing a term (β1)<sup>''k''</sup>''x<sup>n</sup>''. But this is precisely what the right side of the identity says should happen, so we are finished. ==Partition recurrence== We can rephrase the above proof, using [[integer partitions]], which we denote as: <math>n = \lambda_1 + \lambda_2 + \cdots + \lambda_\ell</math>, where <math>\lambda_1\geq \lambda_2\geq\ldots\geq\lambda_\ell > 0</math>. The number of partitions of ''n'' is the partition function ''p''(''n'') having generating function: :<math>\sum_{n=0}^\infty p(n) x^n = \prod_{k=1}^\infty (1 - x^k)^{-1}</math> Note that is the reciprocal of the product on the left hand side of our identity: :<math> \left( \sum_{n=0}^\infty p(n) x^n \right) \cdot \left(\prod_{n=1}^\infty (1-x^n)\right) = 1 </math> Let us denote the expansion of our product by <math> \prod_{n=1}^\infty (1-x^n) = \sum_{n=0}^\infty a_nx^n,</math> so that :<math> \left( \sum_{n=0}^\infty p(n) x^n \right) \cdot \left(\sum_{n=0}^\infty a_nx^n\right) = 1. </math> Multiplying out the left hand side and equating coefficients on the two sides, we obtain ''a''<sub>0</sub> ''p''(0) = 1 and <math>\sum_{i=0}^n p(n-i) a_i = 0</math> for all <math>n\geq 1</math>. This gives a recurrence relation defining ''p''(''n'') in terms of ''a<sub>n</sub>'', and vice versa a recurrence for ''a<sub>n</sub>'' in terms of ''p''(''n''). Thus, our desired result: :<math>a_i := \begin{cases}1 & \text{ if } i = \frac{1}{2}(3k^2 \pm k) \text{ and } k \text{ is even}\\ -1 & \text{ if } i = \frac{1}{2}(3k^2 \pm k) \text{ and } k \text{ is odd }\\ 0 & \text{ otherwise }\end{cases}</math> for <math>i\geq 1</math> is equivalent to the identity <math>\sum_i (-1)^i p(n-g_i) = 0,</math> where <math>g_i := \textstyle\frac{1}{2}(3i^2-i)</math> and ''i'' ranges over all integers such that <math>g_i \leq n</math> (this range includes both positive and negative i, so as to use both kinds of generalized pentagonal numbers). This in turn means: :<math>\sum_{i \mathrm{\ even}} p(n-g_i) = \sum_{i \mathrm{\ odd}} p(n-g_i).</math> In terms of sets of partitions, this is equivalent to saying that the following sets are of equal cardinality: :<math>\mathcal{X} := \bigcup_{i \mathrm{\ even}} \mathcal{P}(n-g_i)</math> and <math>\mathcal{Y} := \bigcup_{i \text{ odd}} \mathcal{P}(n-g_i),</math> where <math>\mathcal{P}(n)</math> denotes the set of all partitions of <math>n</math>. All that remains is to give a bijection from one set to the other, which is accomplished by the function ''Ο'' from ''X'' to ''Y'' which maps the partition <math>\mathcal{P}(n-g_i) \ni \lambda : n-g_i = \lambda_1 + \lambda_2 + \dotsb + \lambda_\ell</math> to the partition <math>\lambda' = \varphi(\lambda)</math> defined by: :<math> \varphi(\lambda) := \begin{cases} \lambda' : n - g_{i-1} = (\ell + 3i -2) + (\lambda_1 - 1) + \dotsb + (\lambda_\ell - 1) &\text{ if } \ell+3i > \lambda_1\\ \\ \lambda' : n - g_{i+1} = (\lambda_2 + 1) + \dotsb + (\lambda_\ell + 1) + \underbrace{1+\dotsb+1}_{\lambda_1 - \ell - 3i} &\text{ if } \ell+3i \leq \lambda_1. \end{cases} </math> This is an involution (a self-inverse mapping), and thus in particular a bijection, which proves our claim and the identity. <!-- ==Example program== This [[Python (programming language)|Python]] program computes ''p''(''n''), the number of partitions, for ''n'' from one to one hundred using the recurrence resulting from the pentagonal number theorem. <syntaxhighlight lang="python"> def pentagonal(n): return (n * (3 * n - 1)) // 2 # the nth pentagonal number is given by (3n^2 - n)/2 def generalised_pentagonal(n): # 0, -1, 1, -2, 2 if n % 2 == 0: return pentagonal((n // 2) + 1) # pentagonal(n/2 + 1) if n is even else: return pentagonal(-(n // 2) - 1) # pentagonal(-(n/2 + 1)) if n is odd def termsign(i): if i % 4 < 2: return 1 # add if i mod 4 is 0 or 1 else: return -1 # subtract otherwise pt = [1] for n in range(1, 100 + 1): r, i = 0, 0 while True: k = generalised_pentagonal(i) if k > n: break r += termsign(i) * pt[n - k] i += 1 pt.append(r) print(pt[1:]) # exclude 0 </syntaxhighlight> --> ==See also== The pentagonal number theorem occurs as a special case of the [[Jacobi triple product]]. [[Q-series]] generalize Euler's function, which is closely related to the [[Dedekind eta function]], and occurs in the study of [[modular forms]]. The [[Complex_number#Modulus_and_argument|modulus]] of the [[Euler function]] (see there for picture) shows the [[fractal]] [[modular group]] symmetry and occurs in the study of the interior of the [[Mandelbrot set]]. ==References== {{reflist}} * {{Apostol IANT}} * {{Hardy and Wright}} ==External links== * {{cite arXiv|eprint=math.HO/0510054|title= Euler and the pentagonal number theorem|year=2005|author1=Jordan Bell}} * [http://www.mathpages.com/home/kmath623/kmath623.htm On Euler's Pentagonal Theorem] at MathPages * {{OEIS el|1=A000041|2=a(n) = number of partitions of n (the partition numbers)}} * [https://scholarlycommons.pacific.edu/euler-works/542/ De mirabilis proprietatibus numerorum pentagonalium] at Scholarly Commons. {{DEFAULTSORT:Pentagonal Number Theorem}} [[Category:Theorems in number theory]] [[Category:Articles containing proofs]] [[Category:Integer partitions]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Apostol IANT
(
edit
)
Template:Cite arXiv
(
edit
)
Template:Cite journal
(
edit
)
Template:Hardy and Wright
(
edit
)
Template:Math
(
edit
)
Template:OEIS
(
edit
)
Template:OEIS el
(
edit
)
Template:Pp-sock
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)