本网站由以下捐款支持:OEIS基金会.

用户:Peter Luschny/BellTransform

来自OeisWiki
跳转到:航行,搜索

贝尔变换

总结:我们以两种方式介绍了部分贝尔多项式:以传统方式基于变量x1,x个2, ... 并基于变量x0,x个1,x个2, .... x的系数0-基于单变量多项式给出新的和未探索的A257563型.

接下来,我们将Bell变换的计算建立在分区上这为小n给出了一个令人惊讶的快速算法类似于SageMath中用于Bell多项式的算法。

使用三角形作为下一层的输入,为我们提供了高阶贝尔数。特别是我们恢复了Joerg Arndt获奖A187761号作为二阶贝尔数。

然后我们将Bell变换及其逆变换应用于幂函数,多因子、上升因子和下降因子在数据库中显示了50多个序列示例。我们发现几乎没有一个被描述为贝尔变换的结果。

贝尔多项式

贝尔变换是一种映射序列的变换

a=a_0,a_1,a_2,。。。

变成三角形

T(0,0)T(1,0)T(1,1)T(2,0)T(2,1)T(2,2)T(3.0)T(3.1)T(3.2)T(3.3)

由定义

T(n,k)=和{j=0..n-k+1}二项式(n-1,j-1)*a_j*T(n-j,k-1)如果k!=否则T(n,k)=(a_0)^n。

有了Sage,这可以实现为

定义bell_trans(n,k,a):@缓存函数定义T(n,k):如果k==0:返回a[0]^n返回和((0..n-k+1)中j的二项式(n-1,j-1)*a[j]*T(n-j,k-1))返回T(n,k)

让我们看看生成的三角形的前几行。

(*)a_0^0(0 ^0)a_0^1,a_1a_0^2,a_1*a_0+a_2,a_1^2a_0^3,a_1*a_0^2+2*a_2*a_0+a_3,a_1^2*a_0+3*a_2*a_1,a_1^3a_0^4,a_1*a_0^3+3*a_2*a_0 ^2+3*a_3*a_0+a_4+4*a_3*a_1+3*a_2^2,a_1^3*a_0+6*a_2*a_1^2,a_1^4

例如,计算第一个友善的A132393号一个人可以写字

s=[0]+[(0..5)中i的阶乘(i)]对于(0..5)中的n:[对于(0..n)中的k,bell_trans(n,k,s)][1][0, 1][0, 1, 1][0, 2, 3, 1][0, 6, 11, 6, 1][0, 24, 50, 35, 10, 1]

第二个示例显示,还有其他重要数字可以以这种方式生成,但并不总是减少为整数。

N=6t=[2^(1-j),如果is_add(j),则在(0..N)中j为0对于(0..n)中的n:[(0..n)中k的bell_trans(n,k,t)][1][0, 1][0, 0, 1][0, 1/4, 0, 1][0, 0, 1, 0, 1][0, 1/16, 0, 5/2, 0, 1][0, 0, 1, 0, 5, 0, 1]

这些是中心阶乘的系数[1]

查看上面三角形(*)中符号和的另一种方法是解释an个作为变量xn个多元多项式的。然后得出部分贝尔多项式:

定义partial_bell_polyminal(n,k):v=var(['x_'+str(i)代表(0..n+1)中的i)返回bell_trans(n,k,v).exexpand()对于(0..4)中的n:[(0..n)中k的partial_bell_polyminal(n,k)][1][x_0,x_1][x_0^2,x_0*x_1+x_2,x_1^2][x_0^3,x_0^2*x_1+2*x_0*x_2+x_3,x_0*x_1^2+3*x_1*x_2,x_1^3][x_0^4,x_0^3*x_1+3*x_0^2*x_2+3*x_0*x_3+x_4,x_0^2*x_1^2+5*x_0*x_1*x_2+3*x_2^2+4*x_1*x_3,x_0*x_1^3+6*x_1^2*x_2,x_1^4]

注意,这些多项式取决于变量x0,x个1,x个2, ...对于一些人来说,但可能不是因为一个好的理由,部分贝尔多项式通常被定义为只依赖于变量x1,x个2, ...在这种情况下,上述三角形的第一列被忽略(除了情况(0,0),该情况添加了一些无动机和非系统)。要在旧文献中获得这一常见形式(例如,见L.Comtet,《高级组合数学》,第135页)从我们的形式很容易:我们只需设置x0= 0.

有了Sage,我们可以写:

对于(0..4)中的n:[(0..n)中k的partial_bell_polynomial(n,k).subs(x_0=0)][1][0,x_1][0,x_2,x_1^2][0,x_3,3*x_1*x_2,x_1^3][0,x_4,3*x_2^2+4*x_1*x_3,6*x_1^2*x_2,x_1^4]

到目前为止,我们只看了部分贝尔多项式.这个贝尔多项式定义为

B_n=和{k=0..n}B_{n,k}。定义贝尔多项式(n):返回和(0..n)中k的partial_bell_polynomial(n,k))对于(0..3)中的n:贝尔多项式(n)1x0+x1x_0 ^2+x_0*x_1+x_1 ^2+x_2x_0^3+x_0^2*x_1+x_0*x_1^2+x_1^3+2*x_0*x2+3*x_1*x_2+x_3

还有两件事需要提及:

首先,有时减少无穷大的数字是很方便的变量x_0、x_1、x_2。。。到一个变量x。

其次,在上述考虑中,我们使用了“符号和”(或用象征戒指SR中的圣人说法)。但是,当然我们也可以使用“实”多项式。

把这两个要求放在一起,我们得到多项式有理域上x的一元多项式环。

定义单变量贝尔多项式(n):p=贝尔多项式(n).subs(x0=0)q=p({p.variables()[i]:x表示范围内的i(len(p.variaables())})R=多项式环(QQ,'x')返回R(q)对于(0..6)中的n:单变量bell_polymonial(n)1x个x^2+xx^3+3*x^2+xx^4+6*x^3+7*x^2+xx^5+10*x^4+25*x^3+15*x^2+xx ^6+15*x ^5+65*x ^4+90*x ^3+31*x ^2+x

如果我们提取这些多项式的系数,我们会发现:

对于(0..6)中的n:单变量bell_polynomial(n).list()[1][0, 1][0, 1, 1][0, 1, 3, 1][0, 1, 7, 6, 1][0, 1, 15, 25, 10, 1][0, 1, 31, 90, 65, 15, 1]

瞧,这些是斯特林子集数A048993号!这一点必须在之前观察到;-)

注意第一个替换子(x_0=0),它表示上述意义上的“经典案例”。如果我们使用我们得到所有n的一致替换子(x_n=x):

定义x0基单变量bell_polyminal(n):p=贝尔多项式(n)q=p({p.variables()[i]:x表示范围内的i(len(p.variables()))})R=多项式环(QQ,'x')返回R(q)对于(0..6)中的n:x0_based_singlevariable_bell_polynomial(n)12*x个3*x^2+x4*x^3+5*x^2+x5*x^4+14*x^3+10*x^2+x6*x^5+30*x^4+48*x^3+19*x^2+x7*x^6+55*x^5+158*x^4+149*x^3+36*x^2+x对于(0..6)中的n:x0_based_univariate_bell_polynomial(n).list()[1][0, 2][0,1,3][0, 1, 5, 4][0, 1, 10, 14, 5][0, 1, 19, 48, 30, 6][0, 1, 36, 149, 158, 55, 7]

行总和

1, 2, 4, 10, 30, 104, 406, 1754, 8280, 42294, 231950, ...

是保罗·巴里的吗A186021号,贝尔(n)*(2-0^n)。杰弗里·克雷策注释:这些是“子集集合的数量两两不相交的{1,2,…,n-1}。"

x的系数0-基于一元多项式现在加入A257563型它们的组合意义是什么?

基于分区的Bell变换

我们还没有考虑我们现在转向实现。

如果删除为为了进行上述说明,我们可以将我们的实现总结为:

定义贝尔多项式(n):X=var(['X_'+str(i)代表(0..n+1)中的i)@缓存函数定义T(n,k):如果k==0:返回k^n返回和(二项式(n-1,j-1)*T(n-j,k-1)*X[j]用于(0..n-k+1)中的j。expand()(0..n)中k的返回和(T(n,k))

好的是我们可以通过明确地求和来加快速度在n的分区上,而不是使用递归形式由于相关公式看起来相当令人惊讶令人敬畏;读者会发现它是维基百科关于贝尔多项式的条目。

(请注意,维基百科将“完全贝尔多项式”称为我们称为“贝尔多项式”,Mathworld称为“贝尔多项式”我们称之为“单变量贝尔多项式”。)

我们从一元Bell多项式的简单情况开始看看一个实现,它本质上是Sage的实施(GPL许可),由Blair Sutton编写。

定义分区基于单变量bell_polyminal(n):多项式=x^nfn=阶乘(n)对于k in(0..n-1):结果=0对于分区(n,长度=k)中的p:factorial_product=1power_factorial_product=1对于零件,在p.to_exp_dict().iteritems()中计数:factorial_product*=阶乘(计数)power_factorial_product*=阶乘(部分)**计数系数=fn//(阶乘乘积*power_factorial_product)结果+=系数polynom+=结果*x^k返回多项式

所以,让我们进行基准测试!

%timeit单变量bell_polynomial(10)5个回路,每个回路最好为3:105 ms%timeit分区基于单变量bell_polynomial(10)5个回路,最好为3:14.1 ms/回路%timeit单变量bell_polynomial(20)5个回路,每个回路最好为3:632ms%timeit分区基于单变量bell_polynomial(20)5个环路,3个最佳值:每个环路79.4ms%timeit单变量bell_polynomial(30)5个回路,最好为3:2.15秒/回路%timeit分区_基数_单变量_细胞_多项式(30)5个回路,最好为3:1.16秒/回路

因此,对于小n,我们观察到在2到8之间的加速。

回到数学上来。我们的主要目标是探索贝尔变换。因此,我们跳过了有关实现的细节多元Bell多项式(作为多项式)并以最有用的形式直接给出形式主义:作为序列到三角形的转换。为了使我们的设置更通用,我们现在将列表作为输入更改为函数。

定义bell_transform(f,n):#partition_based行=[]fn=阶乘(n)对于k in(0..n):结果=0对于分区(n,长度=k)中的p:factorial_product=1power_factorial_product=1对于零件,在p.to_exp_dict().iteritems()中计数:factorial_product*=阶乘(计数)power_factorial_product*=阶乘(部分)**计数系数=fn//(阶乘乘积*power_factorial_product)结果+=系数*prod([f(i-1)for i in p])row.append(结果)返回行

贝尔矩阵

例如,让我们看看Stirling-cycle/Lah家族数字,这是函数的贝尔变换“n个阶乘(n+j)”(对于某些固定j)。

对于(0..7)中的n:bell_transform(阶乘,n)[1][0, 1][0, 1, 1][0, 2, 3, 1][0, 6, 11, 6, 1][0, 24, 50, 35, 10, 1][0,120,274,225,85,15,1][0, 720, 1764, 1624, 735, 175, 21, 1]第一类无符号斯特林数,A132393号.对于(0..7)中的n:bell_transform(λx:阶乘(x+1),n)[1][0, 1][0, 2, 1][0,6,6,1][0, 24, 36, 12, 1][0, 120, 240, 120, 20, 1][0, 720, 1800, 1200, 300, 30, 1][0, 5040, 15120, 12600, 4200, 630, 42, 1]无符号Lah数,参见。A111596号.对于(0..7)中的n:bell_transform(λx:阶乘(x+2),n)[1][0, 2][0, 6, 4][0, 24, 36, 8][0, 120, 300, 144, 16][0, 720, 2640, 2040, 480, 32][0, 5040, 25200, 27720, 10320, 1440, 64][0, 40320, 262080, 383040, 199920, 43680, 4032, 128]重写广义下降的无符号系数阶乘到普通下降阶乘,A136656号.

下一步是简单的:我们将这些列表收集在一个矩阵中,这个贝尔矩阵,并调用给定的函数作为输入Bell矩阵生成器。有了SageMath,我们可以这样写:

定义bell_matrix(发电机,尺寸):行=λn:bell_transform(生成器,n)返回矩阵(ZZ,[行(n)+[0]*(dim-n-1)表示范围(dim)中的n)]

或者,如果我们想避免矩阵构造函数和基于Bell变换的递归形式,我们可以计算具有此功能的贝尔矩阵:

def Bell_Matrix(发电机,尺寸):A=[[0]*(n+1),对于范围(dim)内的n对于范围内的n(dim):A[n][0]=1,如果n==0,则为0如果n>0:A[n][1]=发电机(n-1)对于k in(2..n):A[n][k]=和(二项式(n-1,j-1)*A[n-j][k-1]*A[j][1],对于(1..n-k+1)中的j)返回A

逆Bell变换

贝尔逆变换是映射生成器反向(bell_transform(生成器))。这里我们将“bell_transform(generator)”视为一个无限下矩阵其中我们计算了矩阵的逆。

例如,使用阶乘函数作为生成器,我们可以编写:

bell_matrix(阶乘,8)[   1    0    0    0    0    0    0    0][   0    1    0    0    0    0    0    0][   0    1    1    0    0    0    0    0][   0    2    3    1    0    0    0    0][   0    6   11    6    1    0    0    0][   0   24   50   35   10    1    0    0][   0  120  274  225   85   15    1    0][   0  720 1764 1624  735  175   21    1]

然后,逆Bell变换可以计算为:

bell_matrix(阶乘,8).逆()[   1    0    0    0    0    0    0    0][   0    1    0    0    0    0    0    0][   0   -1    1    0    0    0    0    0][   0    1   -3    1    0    0    0    0][   0   -1    7   -6    1    0    0    0][   0    1  -15   25  -10    1    0    0][   0   -1   31  -90   65  -15    1    0][   0    1  -63  301 -350  140  -21    1]

另一个例子是阿贝尔多项式的系数A137452号将自然数的枚举作为其生成器:

贝尔矩阵(λn:n+1,8).逆()[      1       0       0       0       0       0       0       0][      0       1       0       0       0       0       0       0][      0      -2       1       0       0       0       0       0][      0       9      -6       1       0       0       0       0][0-64 48-12 1 0 0][      0     625    -500     150     -20       1       0       0][      0   -7776    6480   -2160     360     -30       1       0][0 117649-100842 36015-6860 735-42 1]

这是幂等数三角形的逆A059297号 :

bell_matrix(λn:n+1,8)[   1    0    0    0    0    0    0    0][   0    1    0    0    0    0    0    0][   0    2    1    0    0    0    0    0][   0    3    6    1    0    0    0    0][   0    4   24   12    1    0    0    0][   0    5   80   90   20    1    0    0][   0    6  240  540  240   30    1    0][   0    7  672 2835 2240  525   42    1]

或者,如果我们想避免矩阵构造函数和将逆Bell变换建立在其递归形式上,我们可以使用以下功能:

定义反向单元格矩阵(f,dim):A=钟形矩阵(f,dim)M=[[0]*(n+1),对于范围(dim)内的n对于范围内的n(dim):M[n][n]=1/A[n][n]对于范围(n-1,0,-1)中的k:M[n][k]=-总和(A[i][k]*M[n][i]对于范围(n,k,-1)/A[k][k]中的i返回M逆Bell_Matrix(阶乘,7)

序列的Bell逆

给定一个带生成器g的可逆Bell矩阵B,然后我们调用B的逆函数的生成器g的贝尔逆。因此,我们在这里查看序列到序列的转换。

通过Sage,我们可以实现以下目标:

#给定一个序列f返回f的逆Bell序列。定义反转单元格顺序(f,dim):M=反向单元格矩阵(f,dim)返回[M[n][1]表示n in(1..dim-1)]

一些示例:

#[1,-1,1,-1,-1,-1,-1,-1,-1,-1,…]映射到# [1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880, ...]打印反转单元格顺序(λn:(-1)^n,9)#[1,2,2,0,0,0,0,0,0,0,…]映射到# [1, -2, 10, -80, 880, -12320, 209440, -4188800, ...]打印反转单元格顺序(λn:[1,2,2][n],如果n<3,则0,9)#[1,2,1,0,0,0,0,0,0,0,…]映射到# [1, -2, 11, -100, 1270, -20720, 413000, -9726640, ...]打印反转单元格顺序(λn:[1,2,1][n],如果n<3,则0,9)

更一般:让g是一个基于0的序列,然后我们需要g(0)=0和g(1)!=0并写下a=g(1),b=g(2),c=g(3),d=g(4)简化符号。然后g的Bell逆开始

1/a,-b/a^3,(-c*a+3*b^2)/a^5,-(d*a^2-10*b*c*a+15*b^3)/a^7。。。

如果我们假设a=1(通常情况下是这样的),那么这可以简化为:

1,-b,-c+3*b^2,-d+10*b*c-15*b^3。。。
1
-b条
3*b^2-c
15*b^3+10*b*c-d
105*b^4-105*b^2*c+10*c^2+15*b*d-e

因此,系数的骨架是

1
 -1
3, -1
 -15, 10, -1
105, -105, 10, 15, -1

在OEIS中查找此表沃尔夫迪特·朗的A176740号称为“形式幂级数的倒置”和他的论文例如,拉格朗日反演.

有两个区别:Lang的表缺少前导的“1”系数的阶数不同。就我们而言,后者是没有意义的重要性。

Bell多项式的系数

但为什么中途停下来呢?那么让我们看看反Bell的所有系数多项式。上表中的系数出现在第1列。

逆Bell多项式的系数
n\k(不可用) 0 1 2 4 5
0 [1]        
1 [0] [1]        
2 [0] [-1] [1]      
[0] [3, -1] [-3] [1]    
4 [0] [-15, 10, -1] [15, -4] [-6] [1]  
5 [0] [105, -105, 10, 15, -1] [-105, 60, -5] [45, -10] [-10] [1]

数据库中还没有这个表,这似乎有些令人惊讶。  现在是了A268442型。让我们也添加系数表贝尔多项式的A268441型(同时A036040型具有不同的顺序缺少列0)。

Bell多项式的系数
n\k(不可用) 0 1 2 4 5
0  [1]         
1 [0] [1]        
2 [0] [1] [1]      
[0] [1] [3] [1]    
4 [0] [1] [3, 4] [6] [1]  
5 [0] [1] [10, 5] [15, 10] [10] [1]

有一个简单的表格检查:用总和替换列表会减少斯特林数字表的三角形:第一类斯特林数和第二类斯特林数分别是。

下面给出了用Sage实现的构建这些表的算法。

定义bell_polynomial_matrix(dim,逆):定义贝尔多项式(n):X=var(['X'+str(i)for i in(0..dim)])@缓存函数定义T(n,k):如果k==0:返回k^n返回和(二项式(n-1,j-1)*T(n-j,k-1)*X[j-1]对于j in(0..n-k+1)).exexpand()return[T(n,k)for k in(0..n)]A=[[f代表bell_polyminal(n)中的f]代表范围(dim)中的n]如果不是反向:返回AM=[[0代表k in(0..n)]代表n in range(dim)]对于范围内的n(dim):M[n][n]=1/A[n][n]对于范围(n-1,-1,-1)中的k:M[n][k]=展开(-和(A[i][k]*M[n][i]对于范围(n,k,-1)/A[k][k]中的i返回Mdef系数矩阵(M):def系数(p):c=SR(p).分数(ZZ).数字().系数()如果不是c,则返回[0]return[[M中p的系数(p)[n]]范围内n的系数(len(M))]

然后通过函数调用生成上述两个表

M=贝尔多项式矩阵(8,逆=真)系数矩阵(M)

分别通过呼叫

L=贝尔多项式矩阵(8,逆=假)系数矩阵(L)

高阶铃数

考虑一下顺序

S公司0T型0S公司1T型1S公司2T型2→ ...

这里是Sn个T型n个表示Bell变换映射序列Sn个三角形Tn个和TnS公司n+1运算符关联具有行和序列的三角形。例如,如果我们以序列<1,1,1,…>开始此迭代我们得到

第0期=A000012号= <1,1,1,...> T0类=A048993号#斯特林子集数,S1(第一阶段)=A000110号#铃声号码,时间T1=A264428型#贝尔数的贝尔变换,S2系列=A187761号#二阶Bell数,T2段=A264430型#二阶Bell数的Bell变换,第3章=A264432型#三阶贝尔数。

类似地,如果我们用序列<1,-1,1,-1,…>开始迭代我们得到高阶互补贝尔数。

  顺序 潜水钟
转型
反向钟
转型
[1,1,1,1,...] A000012号 A048993号 A048994号
铃声号码 A000110号 A264428型 A264429号
二阶贝尔数 A187761号 A264430型 A264431型
三阶贝尔数 A264432型 A264433型 A264434型
[1,-1,1,-1,...] A033999号 A080417号 A132393号
互补贝尔数 A000587号 A264435型 A264436型
第二个订单
互补贝尔数
A265023型

一个很好的观察结果是Joerg Arndt获奖A187761号(映射数f:[n][n] f(x)≤x且f(f(x这里是二阶贝尔数。

定义bell_second_order(生成器,n):G=[范围(n)内k的发电机(k)]行=λn:bell_transform(n,G)S=[范围(n)中k的总和(行(k))]返回bell_transform(n,S)

阿恩特序列现在可以很容易地从常数序列中计算出来1,1,1,... 作为:

[范围(10)中的n的bell_second_order(lambda k:1,n)中的s的sum(s)]]

序列也是三角形中的第1列A264430型.

[范围(8)中的n的bell_second_order(bell_number,n)][[1],[0, 1],[0, 1, 1],[0, 2, 3, 1],[0, 6, 11, 6, 1],[0, 23, 50, 35, 10, 1],[0, 106, 268, 225, 85, 15, 1],[0, 568, 1645, 1603, 735, 175, 21, 1]]

关联的斯特林子集数

正如我们在上表中看到的那样,生成了斯特林子集数通过将Bell变换应用于最简单的正数序列:所有1的序列。

另一方面,希尔伯特变换序列的最简单方法之一酒店转型(HHT)也称为CS社区:同时将单元格n移动到单元格n+1,将0移动到单元格0。

那么如果我们把这个想法应用到1,1,1,。。。 ? 我们在Sage中定义:

hht=λk:λn:1,如果n>=k,否则为0对于(0..5)中的n:打印bell_matrix(hht(n),12)

根据A数,我们得到n=0,1,2,。。。三角形:

A048993号,A008299号,A059022号,A059023号,A059024号,A059025型.

称为(n+1)相关的斯特林子集数跟随Comtet。

然而,与我们上一节的施工相比这种序列的一个缺点是:除了n=0的情况外得到的矩阵是奇异的;换句话说,逆Bell变换无法应用于这些生成器。

多因子的Bell变换

有关多因素的概述,请参阅我的2011年7月博客文章。按照圣人的说法,一般定义是:

多因子=lambda a,b:lambda n:prod((0..n-1)中k的a*k+b)

这里的多因素取决于两个参数,a和b。例如,多因子(2,2)是偶数(2*n)的双因子!!=2^n*n!,A000165号注意,多因素(2,2)是一个函数,在n=4时计算给出了多因子(2,2)(4)=384。

现在我们可以研究多因子的Bell变换。

对于in(1..4):对于(1..a)中的b:打印“多因子生成的贝尔矩阵”,(a,b)bell_matrix(多因素(a,b),6)打印“由多因子生成的逆Bell矩阵”,(a,b)逆细胞矩阵(多因子(a,b),6)

下表显示了以A数字表示的输出。在20个基本案例中,有17个案例被列入OEIS(缺失的三个案例由作者添加)。仔细查看条目很明显,多因子的Bell变换以前从未进行过系统研究。

类型 多个
阶乘的
潜水钟
转型
反向钟
转型
MF公司1,1 A000142号 A132393号 A048993号
MF公司2,1 A001147号 A132062号 A122848号
MF公司2,2 A000165号 A039683号 A075497号
MF公司3,1 A032031号 A203412型 A265605型
MF公司3,2 A007559号 A004747号 A049404号
MF公司3,3 A008544号 A051141号 A075498号
MF公司4,1 A007696号 A265606型 A265604型
MF公司4,2 A001813号 119274年 A119275号
MF公司4、3 A008545号 A265606型 A049410美元
MF公司4,4 A047053号 A051142号 A075499美元

多因子Bell-inverse的一些特殊情况如下:

钟形反向(MFn、 n个)对于k≥0,=n^k。
钟形反向(MFn、 n-1个)=k≥0时的falling_afactorial(n-1,k)。
钟形反向(MFn、 1个)=MFn-1,n-2(对于n≥3)。
钟形反向(MF2*n,n个)=[1,n,0,0,…]。
钟形反向(MF2*n,2*n-2)=A161381_低(n-1)。

贝尔权力转换

幂函数可以看作是多因素的退化情况:如多因素定义中a=0的情况。

多因子=lambda a,b:lambda n:prod((0..n-1)中k的a*k+b)

Wolfdieter Lang对这些案例进行了研究。朗呼吁权力的贝尔转变“带缩放对角线的Stirling2三角形”。

对于范围(6)中的n:bell_matrix(λk:n^k,7)

Lang调用幂的符号逆Bell变换“第一类广义斯特林数三角形”。

对于(0..5)中的n:bell_matrix(λk:n^k,7).逆()
n个 权力
第页,共n页
潜水钟
转型
反向钟
转型
0 A000007号 A023531美元 A023531号
1 A000012号 A048993号 A132393号
2 A000079号 A075497号 A039683号
A000244号 A075498美元 A051141号
4 A000302号 A075499号 A051142号
5 A000351号 A075500型 A051150型
6 A000400元 A075501号 A051151号
7 A000420号 A075502号 A051186号
8 A001018号 A075503号 A051187号
9 A001019号 A075504号 A051231号

幂函数的Bell-insverse为

bell_inverse(n^k)=n^k*k!对于k≥0。

上升阶乘的Bell变换

risingfactorial=lambda n:lambda k:rising_factorial(n,k)对于(0..7)中的n:打印bell_matrix(升阶乘(n),7)打印inverse_bell_matrix(升阶乘(n),7)

上升阶乘及其逆的Bell变换导致:

n个 上升
阶乘的
潜水钟
转型
反向钟
转型
0 A000007号 A023531号 A023531号
1 A000142号 A132393号 A048993号
2 A000142号* A111596号 A111596号
2017年10月 A046089号 A035342号
4 A001715号 A049352号 A035469号
5 A001720号 A049353号 A049029号
6 A001725号 A049374号 A049385号
7 A001730号 A134141号 A092082号

上升阶乘的Bell-inverse是多因素的:

对于k≥0,bell_inverse(risingfactorial(n))=MF(n-1,1)(k+1)。


下降阶乘的Bell变换

对于下降阶乘的Bell变换也类似:

fallingfactorial=lambda n:lambda k:falling_factorial(n,k)对于(0..5)中的n:打印bell_matrix(下降阶乘(n),7)打印inverse_bell_matrix(下降阶乘(n),7)
n个 下降阶乘
A008279_低
潜水钟
转型
反向钟
转型
0 行(0) A023531号 A023531美元
1 行(1) A049403号
122484英镑
A132062号
2 第(2)行 A049404号 A004747号
第(3)行 A049410号 A000369号
4 第(4)行 A049424号 A011801型
5 第(5)行 A049411号 A013988型

下降阶乘的Bell-inverse是多因素的:

bell_inverse(下降阶乘(n))=MF(n+1,n)(k),对于k≥0。


单调阶乘的Bell变换

函数似乎没有标准名称

单调阶乘=lambda r:lambda n:rising_factorial(r,n)/阶乘(n)

因此,在本文中,我将其命名为单调阶乘(因为它计算了r字母表上长度为n的单调单词;通常它被写成二项式(n+r-1,n)。

对于(0..4)中的n:打印bell_matrix(单调阶乘(n),7)打印inverse_bell_matrix(单调阶乘(n),7)

在OEIS中几乎没有发现这类序列罗杰·巴古拉的显著例外A137452号(奥利维尔·杰拉德A061356号) 它是的逆Bell变换A000169号当然还有更多的三角形类型应输入OEIS。

Maple的实现

Bell矩阵的Maple实现如下与的接口和约定兼容斯隆的枫叶变换。

#贝尔:计算序列的贝尔矩阵。#给定列表[a(0),…,a(dim)]返回Bell矩阵#序列a的尺寸dim+1。铃:=proc(a)局部M,dim,n,k:如果whattype(a)<>列表,则RETURN([])fi:尺寸:=nops(a);M:=矩阵(尺寸,形状=三角形[下]);M[1,1]:=1;对于从1到dim-1的n,做M[n+1,2]:=a[n]od;对于n从1到dim-1 do对于k从1到n doM[n+1,k+1]:=加法(二项式(n-1,j-1)*M[n-j+1,k]*M[j+1,2],j=1..n-k+1)od;返回(M)结束:BELLi:=程序(a)如果是whattype(a)<>列表,则返回([])fi:返回(直线[反向](钟形(a))结束:#示例:a:=[序列(1,n=0..8)]:贝尔(a)#A048993号b:=[序列(n!,n=0..8)]:贝尔(b)#A132393号c:=[seq(n,n=1..9)]:贝尔(c)#A059297号d:=[seq((-1)^n*(n+1)^n,n=0..8)]:贝尔(d)#A137452号e:=[seq(`if`(n::奇数,0,2*n!),n=0..8)]:贝尔(e)#A137513型f:=[seq(`if`(n<2,(-1)^n,0),n=0..8)]:贝尔(f)#A104556号g:=[seq(双阶乘(2*n-1),n=0..8)]:贝尔(g)#A001497号

Bell变换生成的三角形索引

列表的格式为[An[Ak]],这意味着三角形An由序列Ak生成。如果Ak是不在OEIS中,Ak可能会指向相关序列或假序列Axxxxxx。

[A000369号[A008545号]][A001497号[A001147号]] [A004747型[A008544号]] [A008275号[133942英镑]] [A008277号[A000012号]] [A008296号[A265313型]] [A008297号[A133942号]] [A008298号[A038048型]] [A011801型[A008546号]] [A013988型[A008543号]] [A023531号[A000007号]] [A035342号[A001147号]] [A035469号[A007559号]] [A038455号[A006963号]] [A039621号[A177885号]] [A039683号[A000165号]] [A039692号[A039647号]] [A039810型[A000110号]] [A039811号[A000258号]] [A039812号[A000307号]] [A039813号[A000357号]] [A039814号[A003713号]][A039815号[A000268号]] [A039816号[A000310号]][A039817号[A000359号]] [A046089号[2017年10月]][A048176号[A051262号]] [A048786号[A034177号]] [A048993号[A000012号]] [A048994号[A133942号]] [A049029号[A007696号]] [A049218号[A005359号]] [A049352号[A001715号]] [A049353号[A001720号]] [A049374号[A001725号]] [A049385号[A008548号]] [A049403号[A000161号]] [A049404号[A000925号]] [A049410号[A004552号]] [A049411号[A008279号]] [A049424号[A265609型]] [A051141号[A032031号]] [A051142号[A047053号]][A051150型[A052562号]] [A051151号[A047058美元]] [A051186号[A051188号]] [A051187号[A051189号]][A051231号[A051232型]] [A059297号[A000027号]] [A059298号[A000027号]] [A059419号[A009006号]] [A060281号[A001865号]] [A061356号[A000169号]] [A075497号[A000079号]] [A075498号[A000244号]] [A075499号[A000302号]] [A075500型[A000351号]] [A075501号[A000400元]] [A075502号[A000420号]] [A075503号[A001018号]] [A075504号[A001019号]] [A075505号[A011557号]] [A075525号[A265024型]][A078521号[A038048型]][A079621号[A002866号]] [A079638号[A029767号]][A079639号[A006252号]] [A079640号[A007840号]] [A079641号[A000629号]] [A079642号[A089064号]] [A086915号[A052849号]] [A088729号[A000670美元]] [A088814号[A000262号]] [A092082号[A008542号]] [A104556号[A003475型]] [A105278号[A000142号]] [A105599号[A000272美元]] [A105786号[A000272美元]] [A105819号[A055860号]] [A106239号[575500元]] [A111246号[A130716号]] [A111593号[A155585型]] [A111594年[A005359号]] [A111596号[155456英镑]] [A119274号[A001813号]][A119275号[A130706号]] [A121408号[A177145号]] [A122848号[Axxxxxx]][A122850个[A001147号]] [125553英镑[A208529型]] [129062英镑[A000629号]] [A130123号[A000038元]] [A130191号[A000110号]] [A130534型[A000142号]] [A131222号[A029767号]] [A132056号[A045754号]] [A132062号[A001147号]] [A132393号[A000142号]] [A134141号[A001730号]] [A135338号[A155456号]] [A135494号[A153881号]] [A136590型[A136591号]][A136595号[A048287号]][A136630型[A000035号]] [A136656号[A155456号]][A137312号[A052849号]] [A137320型[A066459号]] [A137339号[A052560型]] [A137378号[A052510号]] [A137431号[Axxxxxx]][A137433号[Axxxxxx]][A137452号[A213236型]] [A137513型[Axxxxxx]][A143395号[A000225美元]] [A143543号[A001187号]] [A144402号[A000161号]] [A144633号[A144636号]] [A144634号[A144636号]] [A144644号[A001899年]] [A145520型[A000040型]][A147308号[A027641号]] [147309年[A022902号]] [A147311号[A122045型]] [A147312号[A122045型]] [A147315号[A000111号]] [A151509号[Axxxxxx]][A151511号[Axxxxxx]][A166317号[A002436号]] [A166318号[A002436号]] [A171996年[Axxxxxx]][A171998号[Axxxxxx]][A174893号[A000142号]] [A184962号[A000670美元]] [A185285号[A004123号]] [A185296号[Axxxxxx]][A185415型[Axxxxxx]][A185419号[143523英镑]] [A185422号[A080635号]][A185690型[A056594号]] [185951英镑[A193356号]] [A186366号[A000111号]] [A187082号[Axxxxxx]][A187084号[Axxxxxx]][A188062号[Axxxxxx]][A188066型[Axxxxxx]][A188832号[A009843号]] [A189898号[A003027号]] [A191249号[A062738号]] [A194938号[A039647号]] [A195204号[A076726号]] [A195205型[Axxxxxx]][A202183型[Axxxxxx]][A202184型[Axxxxxx]][A202185型[Axxxxxx]][2009年2月[Axxxxxx]][A202190型[Asxxxxxx]][A203412型[A007559号]][A209849型[A155585型]] [A215771型[2017年10月]] [A215861型[A215851型]] [A217756型[A129271号]] [A223511型[A045755号]] [A223512型[A045756号]] [A223513型[A045757号]] [A223514型[Axxxxxx]][A223515型[Axxxxxx]][A223516型[Axxxxxx]][A223517型[Axxxxxx]][A223518型[Axxxxxx]][A223522型[Axxxxxx]][A225171型[A225170型]] [A227450型[A007395号]] [A228534型[A009444号]][A228550型[A033678号]] [228859英镑[A001832号]] [228892英镑[A002027号]] [A247232型[A001929号]] [A256041型[A005212号]] [A256042型[A256033型]] [A256892型[A000262号]] [A256893型[A000670美元]] [A259286号[Axxxxxx]][A264428型[A000110号]] [A264429号[Axxxxxx]][A264430型[A125273号]] [A264431型[Axxxxxx]][A264433型[A047889号]] [A264434型[A011634号]] [A264435型[A000587号]] [A264436型[A007549号]][A265314型[Axxxxxx]][2006年2月[Axxxxxx]][A265608型[A000262号]]

特别是,该表显示Touchard或Bell多项式(A048993号),阿贝尔多项式(A137452号),Mittag-Lefler多项式(A137513型),修正的Hermite多项式(A104556号)和贝塞尔多项式(A001497号)都是Bell矩阵由基本序列生成。

参考文献

  • D.E.Knuth,卷积多项式《数学杂志》2.1(1992),第4期,第67-78页。

伴随而来的是一个SageMathJupyter笔记本.可以从以下位置阅读和下载github.