使用
from sympy import *
f = Poly(x**2 + 2*x - 1, x)
我们可以得到f作为一个多项式,但是如何得到这个多项式作为一个乳胶表达式呢?
latex(f)
产生
operatorname{Poly}{left( x^{2} + 2 x - 1, x, domain=mathbb{Z} right)}
当我只需要
x^{2} + 2 x - 1
我需要使用Poly
,因为我正在使用的表达式有几个变量,我需要它是x
的降序。
只需将其转换为常规Expr
:
from sympy import *
x = symbols("x")
f = Poly(x**2 + 2*x - 1, x)
print(latex(f.as_expr()))
至少对我有用。
这是一个恶心的破解,但我想出了
def poly2latex(p):
s = str(p).split(',')[0].replace('Poly(', '').replace('**','^').replace('*','')
return s
我只是在文档中找不到任何东西可以在不打乱术语顺序的情况下将poly重新作为表达式。所以,除非有人知道更好的方法,否则现在就必须这样做!