分区计数

Peter Luschny,2009年2月20日

摘要。我们展示了如何生成以类似树的方式对整数进行分区,并在此基础上定义两个算术函数的乘积。此分区产品提供了一个紧凑的框架用于广义Stirling三角形,并覆盖描述的120多个序列在整数序列在线百科全书上。为了OEIS的方便我们编译了两个引用表,将这些序列编织成一个概念网。

内容

分区树

n的分区定义为非负整数A的序列12≥...≥这样n=a1+一个2+ ... + 对于一些m。

分区树<6>  <7>  <8>  <9>.

整数的分区可以自然地生成为二叉树。D.E.Knuth写道:“n个进入之内零件出现在水平n-米按词典顺序;整棵树的前序给出整体的词汇顺序。“TAOCP 4,fasc.3,7.2.1.4,练习10。可以添加:“n的所有分区(其中k部分最大)都显示在左侧子树上“k11..1”,(n-k乘以1)。“克努特参考了T.I.Fenner和G.Loizou,公司。J.23(1980),332-337。

因此,从左到右和从上到下读取级别的顺序是在分区上诱导。例如,9的分区是顺序如下表所示。

[1,1,1,1,1,1,1,1,1,1][2, 1, 1, 1, 1, 1, 1, 1]   [2,2,1,1,1,1][3, 1, 1, 1, 1, 1, 1]    [2, 2, 2, 1, 1, 1]    [3, 2, 1, 1, 1, 1]    [4, 1, 1, 1, 1, 1]    [2, 2, 2, 2, 1]    [3, 2, 2, 1, 1]    [3, 3, 1, 1, 1]    [4, 2, 1, 1, 1]    [5, 1, 1, 1, 1]    [3, 2, 2, 2]    [3,3,2,1][4, 2, 2, 1]    [4, 3, 1, 1]    [5, 2, 1, 1]    [6, 1, 1, 1]    [3, 3, 3]    [4, 3, 2]    [4, 4, 1]    [5, 2, 2]    [5, 3, 1]    [6, 2, 1]    [7, 1, 1]    [5, 4]   [6, 3]   [7, 2]   [8, 1]   [9]

在本章中组合分析作者:K.Goldberg、M.Newman和E。海恩斯沃思在数学函数手册,(编辑Abramowitz和Stegun),第831页,表24.2n个=1..10已列出。然而,分区树的根是在底部,各部分按升序书写。因此手册中的“分区”是根据我们的形式划分定义,这是目前使用的标准定义。

Goldberg、Newman和Haynsworth在手册中使用这种排序的原因似乎是非常清楚:这是列出200多个分区的顺序多年前最流行的分区生成算法之一:C.F.算法。兴登堡(哥廷根1779)。因此,我们将此订单称为兴登堡订单,尽管如此不是标准术语。   

为了进行说明,我们按兴登堡顺序列出了6个分区:
 
6-15-24-33-114-123-222-1113-1122-11112-111111
[兴登堡订单]

将此行作为字符串(逐部分读取,而不是逐分区读取)从右手边到左手边我们得到了另一个订单,我们称之为“反映的兴登堡订单”。

111111-21111-2211-3111-222-321-411-33-42-51-6
[反映了兴登堡命令]

此顺序根据定义将分区显示为非递增序列,而且正是树生成的顺序上述算法。这是我们在这里使用的所有命令跟随。

有另一种方式来看待反映出来的兴登堡秩序(以及为什么会这样是分区的标准顺序)。这是哈斯图的第n级在阿尔弗雷德杨氏晶格. 因此生成树与从格中导出的细化顺序一致n元素集的分区。

 

图片由理查德·斯坦利教授提供。(知识共享许可证-麻省理工学院开放课件)

在整数序列在线百科全书(OEIS)中,术语“阿布拉莫维茨-斯特根命令”更糟糕的是“A-St订单”用来指兴登堡秩序:多么可怕的用词不当!

另一个警告:基于分区的序列以偏移量0开始,而不是1。这是由OEIS的序列A000070和A000041。”“0”一个分区,一个空序列。

生成整数分区

下面用Maple V编码了整数分区的基于树的生成算法。但是,它不使用Maple的任何特殊功能,只使用预定义的数据结构队列。

正在生成分区

分区产品

现在我们可以定义一个重要的组合计数工具,分区两个函数f和g的乘积。

分区积与卷积多项式密切相关,Jabotinsky矩阵和Bell多项式(其中g(n)=n!并且f(n)是“变量”)。参见Donald E.Knuth的论文“卷积多项式”,第页8,网址:arXiv.org网站.我们基于分区将分区产品实现为Maple过程生成算法。

然而,让我们首先纠正Maple对幂函数定义的不足(比较D.E.Knuth,关于符号的两个注释).
pow:=proc(n,k)如果n=0且k=0,则1其他n^k结束:

现在是分区产品列表,即Seqn个[f,g]可以计算为:

分区乘积

我们经常关注分区的等价类,结果是如果我们同时从开始。前两个是微不足道的:给出每个分区的细粒度定义的标识一个不同的分区和将所有分区放在同一个容器中的粗粒度定义。第三类是等长分区和第四类分区的组合组合最大部分相等的分区。

计算分区数意味着分配统计的到的等价类分区。在每种情况下,类成员的分区乘积都被求和为单个值。为了统一处理这些情况,我们引入了一个类型统计学,其中“statistic”是在{“sum”、“part”、“len”、“big”}中,并将此类型作为参数添加到分区现在具有签名PartitionProduct(n,f,g,statistic)的产品。 信件是:

在下表中,这些统计数据(取决于函数f和g分区产品)显示在表的标题中,如下所示:

f(n)=;g(n)=。。
总和 所有分区 ~按长度~大部分

获得扩展功能很容易。在Maple语法中,这意味着串联操作R:=R[op(L),U](用于“零件”箱)替换为R[nops(L)]:=R[nobs(L)]+U如果等价类型为“长度分区'和依据R[L[1]:=R[L[1]]+U如果等价类型是“最大的部分”。

分区乘积

为了了解该产品的产品,我们首先看三个简单的示例。

f(n)=1,g(n)=n!
总计:A000110号 所有分区:A036040型 ~按长度:A008277号 ~最大部分:A080510号
1 [1] [1] [1]
1 [1] [1] [1]
2 [1,1] [1,1] [1,1]
5 [1,3,1] [1,3,1] [1,3,1]
15 [1,6,3,4,1] [1,7,6,1] [1,9,4,1]
52 [1,10,15,10,10,5,1] [1,15,25,10,1] [1,25,20,5,1]

带有“部分”统计的分区积给出了多项式系数,其中“长度”-统计第二类和“最大部分”的斯特林数-统计具有最大块大小k的n-集的集分区。行和是Bell数。

f(n)=n,g(n)=n!
总计:A000248号 所有分区:A000000 ~按长度:A059297号 ~最大部分:A000000
1 [1] [1] [1]
1 [1] [1] [1]
3 [1,2] [2,1] [1,2]
10 [1,6,3] [3,6,1] [1,6,3]
41 [1,12,12,12,4] [4,24,12,1] [1,24,12,4]
196 [1,20,60,30,60,20,5] [5,80,90,20,1] [1,80,90,20,5]

A000248是节点数为n且高度最多为1的森林数量,相当于R.Ferreol的评论从一组n个元素到其自身的幂等映射f的数量(即满足f o f=f)。  长度统计给出了幂等数的三角形(版本1)。

序列A059297在OEIS上以稍微不同的方式列出。因此,我们在定义我们在展平三角形时将使用的枚举时作出决定:

T(0,0)
T(1,1)
T(2,1),T(2,2)
T(3.1)、T(3.2)、T
...   ... 。。。  ...

映射到T(0,0),T(1,1),T(2,1),T(2,2),T(3,1),T(3,2),T(3,3),。。。严格来说OEIS T(0,0)、T(1,0)、T(1,1)、T,。。更准确。但是,OEIS中许多基于分区的三角形都是基于(1,1)-偏移量的,因此我们的枚举更符合OEIS的实际做法。

我们的第三个例子是

f(n)=(n-1)!,g(n)=n!
总计:A000142号 所有分区:A102189号 ~按长度:A130534型 ~最大部分:A126074号
1 [1] [1] [1]
1 [1] [1] [1]
2 [1,1] [1,1] [1,1]
6 [1,3,2] [2,3,1] [1,3,2]
24 [1,6,3,8,6] [6,11,6,1] [1,9,8,6]
120 [1,10,15,20,20,30,24] [24,50,35,10,1] [1,25,40,30,24]

“所有分区”由多项式数计算,多项式数按长度分类,给出第一类无符号斯特林数并按最大部分分类循环长度k最长的n个元素的置换。行和是阶乘数。

广义斯特林三角形

我们将基于一个函数,即广义上升阶乘定义为:

我们对分区产品的第一个应用是对第一类Stirling数,即Stirling1-Triangles(n,k),其中n=0,1,2,3,。。。k=-3,-2,-1,0,1,2,3。生成组合的组合解释Wolfdieter Lang的论文部分给出了下面的三角形,组合解释广义斯特林数,2008年10月预印本,Wolfdieter Lang,关于斯特林数三角形,《整数序列杂志》,3(2000)第00.2.4条。作为一名将军主题简介我推荐乔治的第13章“组合数学中的分区”E.安德鲁斯分割理论.

让我们看看如果打印这些广义Stirling_1三角形会发生什么:
对于从-6到5的k,执行PrintTriangles(Stirling1Triangles,k,5)。

要在另一个窗口中打开框架,请单击: Stirling1-三角形

关于分区统计,给出的OEIS参考并不完全正确。OEIS中的分区序列是按Hindenburg顺序排序的,而我们使用反射的欣登堡订单——正如我们上文所述。因此,分区类型的三角形行(上表第二列)与我们的结果相反。综上所述:我们已经为-6≤k≤5列出了函数的分区积f(n)=阶乘g(n)=n的广义RisingFactorial(k-n+2,n-1,1)!英寸四种口味:“全部相等”、“全部不同”、“长度相等”和“最大部分相等”。

让我们看看f作为n和k的函数的一些值:

1
1、2
1, 3, 6
1, 4, 12, 24
1, 5, 20, 60, 120
1, 6, 30, 120, 360, 720

在OEIS上,我们看到:A008279号给出一次n个事物k的排列数。因此,名称广义置换系数因为三角形也很合适。

这是相当成功的。那么让我们试试另一个。这次我们想看看第二类Stirling数Stirling2Triangles(n,k)的推广(再次参见Lang参考文献中的组合解释)。

让我们看看这次会发生什么:
对于从-6到5的k,执行PrintTriangles(Stirling2Triangles,k,5)od;
 

要在另一个窗口中打开框架,请单击:箍筋2-三角形.又是60个OEIS!

值得注意的是一个特殊情况:对于k=-2第一类和第二类广义斯特林三角形重合。这个这是由于prod{j=0..n-1}((k+1)*j-1)和prod{j=0..n-2}(k-n+j+2)两者都具有绝对值n!如果k=-2。这意味着无符号的Lah数字可以看作是广义的Stirling_1三角形以及广义的Stirling_2三角形。对于具有最大部分统计值A157400的序列也是如此。

对于-6≤k≤5,我们列出了函数的分区积f(n)=阶乘g(n)=n!的广义RisingFactorial(-1,n,k+1)!。让我们看看-f的一些值作为n和k的函数:

1
1、2
1, 3, 21
1, 4, 36, 504
1, 5, 55, 935, 21505
1, 6, 78, 1560, 42120, 1432080

但现在:惊喜!我希望出现一些众所周知的序列,比如排列斯特林1三角形情况下的系数。然而,这个三角形是在OEIS。这些数字基本上算什么?

总结:我们已经看过了参数族广义上升阶乘的分乘

(n,k)(k−n+2,n−1,1)和(n,k)(-1,n,k+1)

具有阶乘函数n!同时研究了一般情况和由等价关系‘分区长度’和‘分区最大部分’。事实证明,这个概念框架由120多个条目组成整数序列在线百科全书。

广义贝塞尔三角形

贝塞尔数出现在许多不同的情况下。因此,这并不奇怪要在OEIS中找到描述了大约10次的条目(搜索A144299),大多数条目看起来像这样:
1
1, 1
1, 3, 0
1, 6, 3, 0
1, 10, 15, 0, 0
1, 15, 45, 15, 0, 0
1、21、105、105、0、0、0

这些变体相当单调:有些前面有零,有些人不枚举零等等。所有有一个共同点:非零数字块是从零块中分离出来。2008年12月7日,编辑OEIS写道:“……这个条目是要添加到OEIS中的基本三角形。。。“(A144331)。真遗憾:这是一个新的变量,它是真正地不同;-)采取上升阶乘(n,k)->(k-n+2,n-1,1)(与上述Stirling1情况相同),但这一次使用恒等式,并在k=1时进行计算。

贝塞尔数表示为贝塞尔分区(n,1)。

[1]
[1]
[1, 1]
[1, 3, 0]
[1, 6, 3, 0, 0]
[1, 10, 15, 0, 0, 0, 0]
[1, 15, 45, 0, 15, 0, 0, 0, 0, 0, 0]
[1, 21, 105, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[1, 28, 210, 0, 420, 0, 0, 105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

我们可以把这个发现用一个小公式表示出来。行总和是数字对合In个(自反转排列)在n个字母上。因此符号上述定义我们有

n个=总和n个[(3-n)n-1个,编号]。

所以也许序列n、 k个=总和n个[(k-n+2)n-1个,编号]是否也应该保存到斯隆的数据库中?

我们以广义贝塞尔三角形表结束。

要在另一个窗口中打开框架,请单击:贝塞尔三角形

您可以在这里下载Maple工作表.