Python 求辛把分数展开成多项式方程

Python 求辛把分数展开成多项式方程,python,sympy,Python,Sympy,我想知道如何让辛把分数方程展开成多项式。例如,考虑下面的代码 from sympy import * var('x a b c d e') Eq(a, ()/()) frac = Eq(a, (x + b/x)/(c/x + d/x**2)) pprint(frac) 如何得到x中的多项式?例如,在这种情况下,多项式看起来像 C1*x**3 + C2*x**2 + C3*x + C4 = 0 我有.as_poly(),as_powers_dict(),expand()和其他一些,但我几乎是在

我想知道如何让辛把分数方程展开成多项式。例如,考虑下面的代码

from sympy import *
var('x a b c d e')
Eq(a, ()/())
frac = Eq(a, (x + b/x)/(c/x + d/x**2))
pprint(frac)
如何得到x中的多项式?例如,在这种情况下,多项式看起来像

C1*x**3 + C2*x**2 + C3*x + C4 = 0
我有
.as_poly()
as_powers_dict()
expand()
和其他一些,但我几乎是在猜测名字,并尝试一切看似遥远的可能。有办法吗


干杯

我不知道这种方法有多普遍,但类似的方法在某些情况下可能有用:

In [299]: frac = Eq(a, (x + b/x)/(c/x + d/x**2))

In [300]: f = factor(frac.lhs - frac.rhs)

In [301]: f
Out[301]: -(-a*c*x - a*d + b*x + x**3)/(c*x + d)

In [302]: f *= denom(f)

In [303]: poly(f, x)
Out[303]: Poly(-x**3 + (a*c - b)*x + a*d, x, domain='ZZ[a,b,c,d]')

In [304]: poly(f, x).as_dict()
Out[304]: {(0,): a*d, (1,): a*c - b, (3,): -1}