首页 > 其他分享 >欧拉五边形数定理小记

欧拉五边形数定理小记

时间:2024-03-26 10:26:07浏览次数:19  
标签:infty phi sum 五边形 3k cdots 分拆 欧拉 小记

欧拉五边形数定理(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)\),对于类似的式子我们也可以这样算。

标签:infty,phi,sum,五边形,3k,cdots,分拆,欧拉,小记
From: https://www.cnblogs.com/imcaigou/p/18095988

相关文章

  • 欧拉角位姿变换
    欧拉角姿态变换姿态B相对于姿态A的变换:欧拉角为rx,ry,rz,绕Z-Y-X轴进行旋转。那么姿态A相对于姿态B的变换:欧拉角为-rx,-ry,-rz,绕X-Y-Z轴进行旋转。doublerx,ry,rz,px,py,pz;rx=10;ry=20;rz=30;px=1;py=2;pz=3;std::c......
  • 图论—欧拉回路/路径
    前置知识:欧拉图(两个要点:1.是连通图才有欧拉回路2.是否满足出度和入度的要求)模板题:P7771【模板】欧拉路径-洛谷|计算机科学教育新生态(luogu.com.cn)欧拉回路1.•对于无向图,欧拉回路就是在图的所有结点的度都是偶数,并且图是连通的情况下,从任意一个节点开始dfs都可......
  • FFmpeg开发笔记(七)欧拉系统编译安装FFmpeg
    FFmpeg支持Linux、macOS、Windows、Android等操作系统,其中Linux系列包括Ubuntu、Debian、Mint、CentOS、RHEL、Fedora等分支。FFmpeg官网的编译入口地址为https://trac.ffmpeg.org/wiki/CompilationGuide,在这里可以找到FFmpeg对各系统的编译说明。更多详细的FFmpeg开发知识参见《F......
  • java:欧拉公式e^ix==cosx+i*sinx 用Math类中的方法输出90°以内的欧拉函数数值,保留四位
    publicclassMain{//本题的要求:e^ix==cosx+i*sinxdoubleb,c;chari;publicstaticvoidmain(String[]args){for(doublej=0;j<90;j++){//用循环依次整出0-90度doublesum=0;//temp是e^ix;doublea=j;a=Math.toRadi......
  • 数论小记
    做到就会补进来>w<\[d(ij)=\sum_{x|i}\sum_{y|j}[\gcd(x,y)=1]\]其中\(d\)是约数个数,证明如下:考虑\(x,y\)造就的\(xy=d\)的贡献,显然覆盖完全,那么我们现在需要一个\(d\)只能有一种产生贡献的方式。考虑一个质数\(p\)在\(x,y,d\)中的幂次分别为\(x',y',d'\),在\(......
  • Linux操作系统小记
    1.finalshell使用Linux终端打开-输入ifconfig-查看ip地址finalshell-----SSH链接----输入信息2.Linux常用命令ls-a/      根目录隐藏文件ls-l/       竖着显示ls-lh/      竖着显示,并且包含大小pwd        ......
  • C++实现欧拉筛法
    Euler筛法介绍以筛出100以内(含100)的所有素数为例来说明一下欧拉筛法的原理。和Eratosthenes筛法一样,Euler筛法也从2开始筛,但Eratosthenes筛法会把2的倍数一批全部筛掉,而Euler筛法用2筛时仅仅把2*2(即4)筛掉,而把其它偶数留到后面再筛掉,从而避免了一个偶数被多次筛除带来的性能开销,......
  • $k$ 进制 FWT 小记
    上文:FWT快速沃尔什变换概念\(k\)进制的DWT本质上是二进制操作的一个扩展操作。原来的位运算也推广到了\(k\)进制上。\(\text{or}\)卷积定义两个数\(x_{1...k},y_{1...k}\)的\(k\)进制或运算定义为:\(z_i=\max(x_i,y_i)\)。换言之,在每个维度上取\(\max\)。分析......
  • conda 使用小记
    不知道为啥用了这么久conda了还总是能遇到各种问题,哎。下载:https://www.anaconda.com/download#downloadsconda因为使用sh脚本安装的,所以有没有管理员权限都很好装。在服务器上安装时,记得把目录改为用户目录~/然后要将环境变量添加到\(~/.bashrc\)中。可以让命令行默......
  • 启发式合并小记
    适用范围当题目中查询有关子树中的问题,而往往涉及类似莫队中每种值出现个数这类比较难用线段树快速维护的时候,我们可以考虑用启发式合并。过程启发式合并其实是优雅的暴力,具体思路就是:统计\(u\)子树的答案,我们先把\(u\)除了重儿子之外的所有儿子的答案统计了,然后再统计重儿......