同样,ratimp是否有可能简化非分数元素?

时间:2016-03-26 15:16:41

标签: python sympy

使用此代码段:

from sympy import *
init_printing(use_latex='mathjax')
a,b,c=symbols('a b c')
ratsimp(a+1/b+1/c)

我得到了

a + (b + c)/(b*c)

虽然我想得到

(a*b*c + b + c)/(b*c)

因为我需要分数的分子。

有可能吗?

这是截图,我得到Out[1],而我想获得Out[2]

enter image description here

1 个答案:

答案 0 :(得分:2)

正如ratsimp文档所述,其最后一步是 reduce 有理函数,即提取其多项式部分。由于这不是您想要的,因此不应使用ratsimp。相反,使用cancel将所有内容都放在共同的分母上,如果你想分别使用分子和分母,也可以使用.as_numer_denom()

>>> cancel(a+1/b+1/c)
(a*b*c + b + c)/(b*c)
>>> f, g = cancel(a+1/b+1/c).as_numer_denom()
>>> f
a*b*c + b + c
>>> g
b*c