gpt4 book ai didi

python - sympy 非平凡替换

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:11 25 4
gpt4 key购买 nike

我试图在 sympy 中进行一些替换,但它们通常不是 x=1 等形式。更像 (a+b)/(c+d)= 1..我可以选择一个任意变量来求解,但在某些情况下,这可能会产生无限的解决方案,可能会产生无限可能的替换,以及任何其他未知的未知警告,而直接替换则不会。

为了说明我正在尝试做的事情,请考虑:

sympy

这显然只是1。我如何让 sympy 输出 1

更新

这也不起作用:

sp.solvers.solve([(a+b)/(c+d)-x,(c+d)/(a+b)-1],x)

最佳答案

求解您为两个变量而不是一个变量设置的系统。这将迫使 SymPy 实际上使用这两个方程。

sp.solve([(a+b)/(c+d) - x, (c+d)/(a+b) - 1], [x, a])

输出{a: -b + c + d, x: 1}

或者更具体地说,

sp.solvers.solve([(a+b)/(c+d) - x, (c+d)/(a+b) - 1], [x, a])[x]

输出1。

一般情况下,上述过程是“消除a”,但在具体示例中,它同时消除了b、c、d。

<小时/>

direct replacement would not

直接替换是指替换表达式树的一部分。表达式 (a+b)/(c+d) 在其树中的任何位置包含 (c+d)/(a+b),因此直接替换无法执行任何操作。

关于python - sympy 非平凡替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45447131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com