出現這種情況RootSum
可以通過Integrate
,其用於通過內部DSolve
,像這樣產生:
In[511]:= Integrate[1/(1 + x + x^2 + x^3 + x^4), x]
Out[511]= RootSum[1 + #1 + #1^2 + #1^3 + #1^4 &,
Log[x - #1]/(1 + 2 #1 + 3 #1^2 + 4 #1^3) &]
它代表一個符號表達式是Sum[ Log[x-t]/(1+2*t+3 t^2+4 t^3), {t, {"roots of 1+t+t^2+t^3+t^4"}]
(注意,無效的語法故意)。您可以使用Normal
恢復預期的正常形式:
In[512]:= Normal[%]
Out[512]=
Log[(-1)^(1/5) + x]/(1 - 2 (-1)^(1/5) + 3 (-1)^(2/5) - 4 (-1)^(3/5)) +
Log[-(-1)^(2/5) + x]/(
1 - 4 (-1)^(1/5) + 2 (-1)^(2/5) + 3 (-1)^(4/5)) +
Log[(-1)^(3/5) + x]/(
1 - 3 (-1)^(1/5) - 2 (-1)^(3/5) + 4 (-1)^(4/5)) +
Log[-(-1)^(4/5) + x]/(1 + 4 (-1)^(2/5) - 3 (-1)^(3/5) + 2 (-1)^(4/5))
或直接用Sum
:
In[513]:= Sum[
Log[x - t]/(1 + 2*t + 3 t^2 + 4 t^3), {t,
t /. {ToRules[Roots[1 + t + t^2 + t^3 + t^4 == 0, t]]}}]
Out[513]=
Log[(-1)^(1/5) + x]/(1 - 2 (-1)^(1/5) + 3 (-1)^(2/5) - 4 (-1)^(3/5)) +
Log[-(-1)^(2/5) + x]/(
1 - 4 (-1)^(1/5) + 2 (-1)^(2/5) + 3 (-1)^(4/5)) +
Log[(-1)^(3/5) + x]/(
1 - 3 (-1)^(1/5) - 2 (-1)^(3/5) + 4 (-1)^(4/5)) +
Log[-(-1)^(4/5) + x]/(1 + 4 (-1)^(2/5) - 3 (-1)^(3/5) + 2 (-1)^(4/5))
In[514]:= % - %% // FullSimplify
Out[514]= 0
'Normal'解決了'RootSum'的'#1'的但是仍然有流浪者周圍。 – crasic 2011-06-08 05:41:19
@crasic我想問題是'RootSum'是一個很好的表達,你不應該試圖擺脫它。比較'積分[1 /(1 + 2 x + x^7),x]'到'積分[1 /(1 + 2 x + x^7),x] //正常'。應該可以使用'Normal'將任何'RootSum'解析爲顯式和。如果你不能做到這一點,你可以發表頑固的'RootSum'表達嗎? – Sasha 2011-06-08 12:41:11
所有的RootSum組件都可以根除,但可能有必要保留使用#的Root對象。 – 2011-06-08 14:38:10