在 Mathematica 中,如果我執行以下操作
Roots[x^3 - 2 == 0, x]
我明白了
x=(-1)^(2/3) 2^(1/3) || x=(-2)^(1/3) || x = 2^(1/3)
我想在 Sagemath 做類似的事情
sage: F1.<x> = PolynomialRing(CC)
sage: f=x^3 - 2
sage: f.roots()
[(1.25992104989487, 1),
(-0.629960524947437 - 1.09112363597172*I, 1),
(-0.629960524947437 1.09112363597172*I, 1)]
sagemath 有沒有辦法將它視為激進或^(1/n)類似的東西?
uj5u.com熱心網友回復:
您是否有理由需要在復雜的多項式環內進行此計算?我不是計算機代數方面的專家,我確??信我過于簡單化了,但我相信這是這種行為的根源;Sage 將復數視為一個不精確的欄位,這意味著它將系數a和bin存盤a b*I為(默認 53 位)浮點數,而不是符號常量。基本上,您要求的是型別錯誤,在ComplexField(或ComplexDoubleField,或可能是任何不精確的欄位)上定義的任何物件都將浮點數作為其系數。另一方面,符號環(x默認情況下令牌所在的位置)中的相應行為似乎正是您正在尋找的;更具體地說,評估var("t"); solve(t^3-2==0,t)回報[t == 1/2*I*sqrt(3)*2^(1/3) - 1/2*2^(1/3), t == -1/2*I*sqrt(3)*2^(1/3) - 1/2*2^(1/3), t == 2^(1/3)]。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464867.html
上一篇:如何實作數值微分(f'(x)=f(x h)-f(x)/h
下一篇:如何求解具有兩個變數的指數方程?
