我试图在Symphy中进行一些替换,但它们通常不是这种形式 x=1 (a+b)/(c+d)=1 .我可以选择一个任意变量来求解,但存在这样的情况,即可能产生无限解,可能产生无限可能的替换,以及任何其他未知的警告,而直接替换则不会。
x=1
(a+b)/(c+d)=1
这显然只是 1 1. 为了这个?
1
1.
更新
这也不起作用:
sp.solvers.solve([(a+b)/(c+d)-x,(c+d)/(a+b)-1],x)
求解为两个变量而不是一个变量设置的系统。这将迫使Symphy实际使用这两个方程。
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。
直接替换不会
不