尤拉五邊形數定理小記

Imcaigou發表於2024-04-03

尤拉五邊形數定理(Pentagonal number theorem)

約定

\[\phi(x)=\prod_{n=1}^{\infty}(1-x^n) \]

描述

\[\begin{aligned} \phi(x)&=\sum_{k=-\infty}^\infty (-1)^kx^{k(3k-1)/2}\\ &=1+\sum_{k=1}^{\infty}(-1)^k(x^{k(3k-1)/2}+x^{k(3k+1)/2}) \end{aligned} \]

證明(wikipedia)

考慮 \([x^n]\phi(x)\) 應該為 \(n\) 的分拆中偶數部分拆個數減去奇數部分拆個數,且這些分拆內的數是各不相同的。

我們考慮如何去掉一些顯然會被抵消的分拆。因此考慮構造部分奇數分拆和偶數分拆的雙射。

對於分拆考慮菲勒示圖(Ferrers diagram)。

對於一個大多數情況下的示圖:

0000000
000000
0000
000

考慮記其最下方的一行的點個數記為 \(m\),集合記為 \(M\);以及右上方從第 \(1\) 行開始長度連續嚴格減 \(1\) 的行數為 \(s\),集合記為 \(S\)。上面的示圖中分別有如下歸屬:

000000S
00000S
0000
MMM
m=3,s=2

考慮若 \(m\le s\),我們去掉 \(M\),並在前 \(m\) 行均多加入一個點;否則我們去掉 \(S\),在最後新加入一行,長度為 \(s\)

容易證明在我們假定的通常情況下這個操作是互逆的。當去掉 \(M\) 時,新的 \(s'\le s\) 而一定有 \(m'>m\)。當去掉 \(S\) 時,新的 \(s'\ge s\) 而一定有 \(m'=s\)

發現當 \(M\cap S = \empty\) 時這個總是成立的,而且會改變分部(行數)的奇偶。

考慮例外:

0000S
000S
MM?
m=s

這時我們並不知道 \(?\) 處的具體歸屬,而且對這個示圖進行操作既不能改變行數的奇偶也不滿足逆操作的要求,因此這個分拆一定要計入答案。此時這個示圖對應為 \(n\) 的分拆,其中 \(n\) 滿足:

\[n=m+(m+1)+(m+2)+\cdots+(2m-1)=\frac{m(3m-1)}{2} \]

它的係數應該為 \((-1)^m\),因為是一個 \(m\) 部拆分。

00000S
0000S
MMM?
m=s+1

這個分拆同樣不滿足改變行數奇偶和逆操作的要求,因此也要計入答案。

此時對應為 \(n\) 的分拆,其中 \(n\) 滿足:

\[n=m+(m+1)+(m+2)+\cdots+(2m-2)=\frac{(m-1)(3m-2)}{2} \]

它的係數應該為 \((-1)^{m+1}\)

\(m>s+1\),容易發現雖然不能使用通常的證明但因為上下界已經分討掉了,因此仍然滿足雙射以及一系列性質。

end.

根據上述的分討,可以透過列舉 \(m\) 做和式表示出 \(\phi(x)\)

稍加整理就可以得到描述中給出的式子:

\[\begin{aligned} \phi(x)&=\sum_{k=-\infty}^\infty (-1)^kx^{k(3k-1)/2}\\ &=1+\sum_{k=1}^{\infty}(-1)^k(x^{k(3k-1)/2}+x^{k(3k+1)/2}) \end{aligned} \]

\(\Box\)

性質

\(p(n)\)\(n\) 的分拆數,對應的母函式為 \(P(x)\)

\(g\) 表示所有 \(\{k(3k-1)/2\mid(k\ne0)\}\) 構成的有序無窮數列,特別地,\(g_0=0\)

\(g=(0,1,2,5,7,12,\cdots)\)

會發現其對應的 \(k\) 依次為 \(1,-1,2,-2,3,-3,\cdots\),這個是五邊形數的定義,即 \(\texttt{petagonal number}\)

而這個五邊形數存在一個非常美妙的定理。

考慮因為:

\[\phi(x)=\prod_{k=1}^\infty (1-x^k) \\ P(x)=\prod_{k=1}^\infty (1-x^k)^{-1} \]

因此有:

\[\phi(x)P(x)=1 \]

而後我們得到了遞推式:

\(p(n)=p(n-1)+p(n-2)-p(n-5)-p(n-7)\cdots\)

更加公式化,即為:

\[p(n)=\sum_{k\ne 0}(-1)^{k-1}p \left( n-\frac{k(3k-1)}{2}\right) \]

(假設 \(\forall x<0:p(x)=0\)

會發現有用的 \(k\) 的取值一定是 \(\sqrt n\) 這個量級的,因此我們在 \(O(\sqrt n)\) 的時間複雜度內可以透過 \(p(0),p(1),\cdots,p(n-1)\) 計算出 \(p(n)\),對於類似的式子我們也可以這樣算。

相關文章