如何在 python 中显示下面的整个根多项式?

How do I show the whole root polynomial below in python?

如何在 python 中显示下面的 5 个多项式根? 我想让它显示每个根。

x = Symbol('x')
det_p = x**5 - 5*x**3 + 5*x + 2
eq1 = Eq(det_p,0)
b_solve = solve(eq1)

print('Energias dos Orbitais: ', [s.evalf() for s in b_solve])

结果: Energias dos Orbitais:[-2.00000000000000,-0.618033988749895,1.61803398874989]

如果您正在使用多项式并希望查看其多重性的所有根,那么您可以使用根,它给出一个显示多重性的字典或 Poly.all_roots,它给出可能重复根的列表:

In [3]: roots(det_p)
Out[3]: 
⎧       1   √5     1   √5   ⎫
⎨-2: 1, ─ - ──: 2, ─ + ──: 2⎬
⎩       2   2      2   2    ⎭

In [4]: Poly(det_p, x).all_roots()
Out[4]: 
⎡    1   √5  1   √5  1   √5  1   √5⎤
⎢-2, ─ - ──, ─ - ──, ─ + ──, ─ + ──⎥
⎣    2   2   2   2   2   2   2   2 ⎦

相关文档:

https://docs.sympy.org/latest/modules/polys/reference.html#symbolic-root-finding-algorithms

https://docs.sympy.org/latest/modules/polys/reference.html#sympy.polys.polytools.Poly.all_roots