2014-04-16 8 views
0

은 내가 Z[4]에 대한 계수의어떻게 Maxima에서 다항식의 계수를 합산합니까?

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 

합 '대칭 그룹에 대한 파티션 함수'를 부르고이 좋은 것은, 함께했다 6+8+3+6+1 = 24 = 4!

내가 바라고 대응이다 (a) (bcd), 3 (ab) (cd), 6 (a) (b) (cd), 1 같은 (a) (bcd)) (b) (c) (d)

따라서 저는의 계수의 합계를 생각했습니다.은 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 [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