2014-04-16 94 views
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!

其中我希望對應(a)(bcd),8(a)(bcd),3(b)(cd),6(a)(b)(cd)等6個元素和(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; 

但真的...

回答

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 
相關問題