使用SymPy(Python)将多个分数合并为一个

时间:2015-07-01 14:23:21

标签: python julia sympy

我有一个符号表达式(比如var_1),它是大约十个分数的总和,每个分数是许多参数的复杂组合。在对其他表达式执行多个操作后出现var_1。换句话说,var_1输出而不是输入。这是,我只有var_1而不是其各个组件

通过构造,我知道当var_1被写为一个分数(使用最小公倍数作为分母)时,分子为零。我用Python的SymPy库证实了这一点(我实际上在Julia中使用SymPy,但操作是相同的)。

我正在寻找一个将多个分数合并为一个的函数,但是应用于var_1这样的单个变量。 factor(var_1)不起作用。由于表达式var_1的复杂性,似乎SymPy停止了因子分解。任何的想法?

1 个答案:

答案 0 :(得分:0)

事实上,有很多标准函数可以在SymPy中添加分数。例如,simplifyfractionratsimp等。有关完整的函数列表(link here),请参阅开发人员部分。

我的问题是我所拥有的表达式太复杂而无法由这些函数处理。因此,上述函数作为输出返回相同的输入。然而,我的问题通过函数powsimp 解决,选项 force=true。这就是我在Julia中调用powsimp(var_1,force=true)(我认为它在Python中是powsimp(var_1,force=True))。我不确定自己为什么这个选项有效,但确实如此!