使用 SymPy 将多个分数合并为一个 (Python)
Combine multiple fractions into one using SymPy (Python)
我有一个 符号 表达式(比如 var_1
),它是大约十个分数的总和,每个分数都是许多参数的复杂组合。 var_1
在对其他表达式执行多个操作后出现。换句话说,var_1
是一个 输出 而不是输入。也就是说,我只有 var_1
而不是它的各个组件 。
通过构造,我知道当var_1
写成一个分数时(用最小公倍数作为分母),那么分母为零。我正在使用 Python 的 SymPy 库确认这一点(我实际上在 Julia 中使用 SymPy,但操作是相同的)。
我正在寻找一个将多个分数合并为一个但应用于单个变量的函数,例如 var_1
。 factor(var_1)
不起作用。由于表达式 var_1
的复杂性,SymPy 似乎停止了因式分解。任何的想法?
事实上,SymPy 中有很多标准的分数相加函数。例如,simplify
、fraction
、ratsimp
等。请参阅 developers 部分以获取完整的函数列表 (link here) .
我的问题是我的表达式太复杂了,这些函数无法处理。因此上面的函数 return 作为输出相同的输入。然而,我的问题被函数 powsimp
和选项 force=true
解决了。这是,我在Julia中调用了powsimp(var_1,force=true)
(我认为是Python中的powsimp(var_1,force=True)
)。我自己也不确定为什么该选项有效,但它确实有效!
我有一个 符号 表达式(比如 var_1
),它是大约十个分数的总和,每个分数都是许多参数的复杂组合。 var_1
在对其他表达式执行多个操作后出现。换句话说,var_1
是一个 输出 而不是输入。也就是说,我只有 var_1
而不是它的各个组件 。
通过构造,我知道当var_1
写成一个分数时(用最小公倍数作为分母),那么分母为零。我正在使用 Python 的 SymPy 库确认这一点(我实际上在 Julia 中使用 SymPy,但操作是相同的)。
我正在寻找一个将多个分数合并为一个但应用于单个变量的函数,例如 var_1
。 factor(var_1)
不起作用。由于表达式 var_1
的复杂性,SymPy 似乎停止了因式分解。任何的想法?
事实上,SymPy 中有很多标准的分数相加函数。例如,simplify
、fraction
、ratsimp
等。请参阅 developers 部分以获取完整的函数列表 (link here) .
我的问题是我的表达式太复杂了,这些函数无法处理。因此上面的函数 return 作为输出相同的输入。然而,我的问题被函数 powsimp
和选项 force=true
解决了。这是,我在Julia中调用了powsimp(var_1,force=true)
(我认为是Python中的powsimp(var_1,force=True)
)。我自己也不确定为什么该选项有效,但它确实有效!