0

我想出了这个好东西,我称之为“对称群的分区函数”

Z[0]:1;

Z[n]:=expand(sum((n-1)!/i!*z[n-i]*Z[i], i, 0, n-1));

Z[4];

6*z[4]+8*z[1]*z[3]+3*z[2]^2+6*z[1]^2*z[2]+z[1]^4

的系数之和Z[4]6+8+3+6+1= 24=4!

我希望这对应于这样一个事实,即组 S4 有 6 个元素,如 (abcd),8 个元素,如 (a)(bcd),3 个元素,如 (ab)(cd),6 个元素,如 (a)(b)(cd),和 1 喜欢 (a)(b)(c)(d)

所以我心想,系数的总和Z[20]应该是20!

但是生活有点短,手指也很麻烦,我希望能自动确认这一点。任何人都可以帮忙吗?

这种事情指向了一个方向:

Z[20],z[1]=1,z[2]=1,z[3]=1,z[4]=1,z[5]=1,z[6]=1,z[7]=1,z[8]=1;

不过真的...

4

1 回答 1

2

我不知道这样做的直接方法。coeff似乎一次只处理一个变量。但这是一种获取所需列表的方法。基本思想是将 Z[20] 的项提取为一个列表,然后用 z[1] = 1, z[2] = 1, ..., z[20] = 1 对每个项进行评估。

(%i1) display2d : false $
(%i2) Z[0] : 1 $
(%i3) Z[n] := expand (sum ((n - 1)!/i!*z[n - i]*Z[i], i, 0, n-1)) $
(%i4) z1 : makelist (z[i] = 1, i, 1, 20);
(%o4) [z[1] = 1,z[2] = 1,z[3] = 1,z[4] = 1,z[5] = 1,z[6] = 1,z[7] = 1, ...]
(%i5) a : args (Z[20]);
(%o5) [121645100408832000*z[20],128047474114560000*z[1]*z[19],
       67580611338240000*z[2]*z[18],67580611338240000*z[1]^2*z[18],
       47703960944640000*z[3]*z[17],71555941416960000*z[1]*z[2]*z[17], ...]
(%i6) a1 : ev (a, z1);
(%o6) [121645100408832000,128047474114560000,67580611338240000, ...]
(%i7) apply ("+", a1);
(%o7) 2432902008176640000
(%i8) 20!;
(%o8) 2432902008176640000
于 2014-04-17T02:03:56.703 回答