我使用sympy解決一個多項式:忽略虛根在sympy
x = Symbol('x')
y = solve(int(row["scaleA"])*x**3 + int(row["scaleB"])*x**2 + int(row["scaleC"])*x + int(row["scaleD"]), x)
y是可能的解決方案列表。但是,我需要忽略虛構的,只使用真正的解決方案。此外,我希望解決方案作爲價值而不是表達。現在它看起來像:
[-2/3 - 55**(1/3)*(-1/2 - sqrt(3)*I/2)/3, -2/3 - 55**(1/3)*(-1/2 + sqrt(3)*I/2)/3, -55**(1/3)/3 - 2/3]
我需要最後一個表達式的值(-2.22756)。 sympy中是否有函數來簡化它?
如果您僅對浮點/雙重近似值感興趣,SymPy很可能不是正確的庫。如果你使用numpy/scipy,你可能會獲得更好的性能和更簡單的代碼。如果你在numpy/scipy上選擇sympy,因爲它比較小,你可以使用mpmath在sympy中使用更小的數字(任意精度不受機器限制) – Krastanov 2013-03-04 23:50:31