ある現象を計算して、その結果をOEISで検索した時、「A157809」に出会いました。
それは、ベルヌーイ数B(n)では B(1)=-1/2 と定義されていたり、ときには、B(1)=1/2 で使用
されたりすることが不思議で、これは、ベルヌーイ多項式というものを導入して、
gp > for(n=0,10,print(n";"bernpol(n)))
0; 1
1; x - 1/2
2;x^2 - x + 1/6
3;x^3 - 3/2*x^2 + 1/2*x
4;x^4 - 2*x^3 + x^2 - 1/30
5;x^5 - 5/2*x^4 + 5/3*x^3 - 1/6*x
6;x^6 - 3*x^5 + 5/2*x^4 - 1/2*x^2 + 1/42
7;x^7 - 7/2*x^6 + 7/2*x^5 - 7/6*x^3 + 1/6*x
8;x^8 - 4*x^7 + 14/3*x^6 - 7/3*x^4 + 2/3*x^2 - 1/30
9;x^9 - 9/2*x^8 + 6*x^7 - 21/5*x^5 + 2*x^3 - 3/10*x
10;x^10 - 5*x^9 + 15/2*x^8 - 7*x^6 + 5*x^4 - 3/2*x^2 + 5/66
で定義されていくもので、その x に 0 と 1 を使用して各多項式を計算すると、
gp>for(n=0,10,print(n";"subst(bernpol(n),x,0))) 0;1 1;-1/2 2;1/6 3;0 4;-1/30 5;0 6;1/42 7;0 8;-1/30 9;0 10;5/66 |
gp>for(n=0,10,print(n";"subst(bernpol(n),x,1))) 0;1 1;1/2 2;1/6 3;0 4;-1/30 5;0 6;1/42 7;0 8;-1/30 9;0 10;5/66 |
となり、x=0、1を使う場合に応じて、x=0では-1/2であったり、x=1では1/2となっていたり(他の
場所では全く同じ)と解釈すればいいんだと思えた。
そこで、他の x の値でも何かしら数値が決まると思って、x=2、3 を使うと、
gp>for(n=0,10,print(n";"subst(bernpol(n),x,2))) 0;1 1;3/2 2;13/6 3;3 4;119/30 5;5 6;253/42 7;7 8;239/30 9;9 10;665/66 |
gp>for(n=0,10,print(n";"subst(bernpol(n),x,3))) 0;1 1;5/2 2;37/6 3;15 4;1079/30 5;85 6;8317/42 7;455 8;30959/30 9;2313 10;338585/66 |
となって、これらを分子に着目して検索し、ここに出会ったものでした。
なお、これらの数列は、x*exp(x)^2/(exp(x)-1),x*exp(x)^3/(exp(x)-1) の指数型母関数で
上手く対応できる。
gp > serlaplace(x*exp(x)^2/(exp(x)-1))
%177 = 1 + 3/2*x + 13/6*x^2 + 3*x^3 + 119/30*x^4 + 5*x^5 + 253/42*x^6 +
7*x^7
+ 239/30*x^8 + 9*x^9 + 665/66*x^10 + 11*x^11 + 32069/2730*x^12 + 13*x^13
+ 91/6*x^14 + 15*x^15 + O(x^16)
gp > serlaplace(x*exp(x)^3/(exp(x)-1))
%178 = 1 + 5/2*x + 37/6*x^2 + 15*x^3 + 1079/30*x^4 + 85*x^5 + 8317/42*x^6
+ 455*x^7
+ 30959/30*x^8 + 2313*x^9 + 338585/66*x^10 + 11275*x^11 + 67124549/2730*x^12
+ 53261*x^13 + 688219/6*x^14 + 245775*x^15 + O(x^16)
一般に、ベルヌーイ多項式に、x=r を代入した時の各値は、serlaplace(x*exp(x)^r/(exp(x)-1))
で観察すればよい。
話は元に戻って、例のサイトで表が構成されていて、第1列には、subst(bernpol(n),x,2)の数
列が、第1行には、subst(bernpol(n),x,3)の数列が配置されいて、残りに、
11/3,53/6/,629/30,31,6,182/15,209/30,・・・
等が埋められると言うのですが、一体これらはどうしてこの値を入れるのか、残りには何の
値になるのかを色々考えてみるのですが、全く手掛かりが掴めず、困っています。
(右上がり対角線の和がn*2^(n-1)に成ると言う。)
何方か解明に協力してください。
GAI さんからのコメントです。(令和3年12月31日付け)
例の規則がやっと解明でき、スッキリしました。空欄には次の数値が当てはまります。
(年末丸々3日間の日にちを要しました。)
M =
[ 1 5/2 37/6 15 1079/30 85 8317/42 455 30959/30 2313 338585/66]
[ 3/2 11/3 53/6 629/30 1471/30 4747/42 10793/42 17309/30 38431/30 185927/66 0]
[ 13/6 31/6 182/15 28 2689/42 144 9599/30 704 101381/66 0 0]
[ 3 209/30 16 251/7 80 5279/30 384 54917/66 0 0 0]
[119/30 269/30 841/42 44 1444/15 208 29573/66 0 0 0 0]
[ 5 463/42 24 1559/30 112 7895/33 0 0 0 0 0]
[253/42 547/42 839/30 60 8453/66 0 0 0 0 0 0]
[ 7 449/30 32 4493/66 0 0 0 0 0 0 0]
[239/30 509/30 2381/66 0 0 0 0 0 0 0 0]
[ 9 1259/66 0 0 0 0 0 0 0 0 0]
[665/66 0 0 0 0 0 0 0 0 0 0]
#対角線の和なので、下半分は省略しました。
gp > for(n=1,11,print1(n*2^(n-1)","))
1,4,12,32,80,192,448,1024,2304,5120,11264
に対し、Mでの右上がり各対角線での和は、
gp > for(n=1,11,print(n";"sum(j=0,n-1,M[n-j,j+1])))
1;1
2;4
3;12
4;32
5;80
6;192
7;448
8;1024
9;2304
10;5120
11;11264
となり、条件を満たしました。
なお、n*2^(n-1) だけの数列を産み出すには、行列Mの第1行から第1列を単に引けば、
即ち、
gp > for(n=2,11,print1(M[1,n]-M[n,1]","))
1,4,12,32,80,192,448,1024,2304,5120
は並ぶ。また、
gp > M3=Vec(serlaplace(x*exp(x)^3/(exp(x)-1)))
%398 = [1, 5/2, 37/6, 15, 1079/30, 85, 8317/42, 455, 30959/30, 2313,338585/66,
11275,
67124549/2730, 53261, 688219/6, 245775]
gp > M4=Vec(serlaplace(x*exp(x)^4/(exp(x)-1)))
%399 = [1, 7/2, 73/6, 42, 4319/30, 490, 69553/42, 5558, 555839/30, 61362,13329365/66,
660814, 5870460269/2730, 6961994, 134611351/6, 71990310]
の2つでは、各成分での差は、
gp > for(n=2,16,print1(M4[n]-M3[n]","))
1,6,27,108,405,1458,5103,17496,59049,196830,649539,2125764,6908733,22320522,71744535
となり、今度は、
gp > for(n=1,15,print1(n*3^(n-1)","))
1,6,27,108,405,1458,5103,17496,59049,196830,649539,2125764,6908733,22320522,71744535
の数列が対応することが起こる。
以下、工事中!