【发布时间】:2017-10-18 18:09:14
【问题描述】:
我想检查哪些数学表达式是相等的。 我想用 Python 来做这个,我用 Sympy 试过。
我的想法是使用简化来简化表达式,以便将相等的对简化为相同的表达式。 然后我在我的两个 for 循环中将它们全部相减,并检查结果是否等于 0。
不幸的是,没有减法结果为零,这不太可能是正确的。 我认为简化功能可能并没有真正满足我的需要。 sympy 中是否有一个函数来检查两个表达式在数学上是否确实相等?
这是我目前的代码:
from sympy import *
a = symbols ('a')
b = symbols ('b')
n = symbols ('n')
m = symbols ('m')
x1=simplify(log(a,n**(log(b,a))))
x2=simplify(((a**n)/(b**m))**(1/b))
x3=simplify(b**(n*log(a)))
x4=simplify(log(b,n))
x5=simplify(a**((n-m)/b))
x6=simplify(n*(log(a)+log(b)))
x7=simplify(log((a**n)*(b**n)))
x8=simplify(a**(log(b**n)))
L=[x1,x2,x3,x4,x5,x6,x7,x8]
for i in range (0 , 6):
for k in range (i+1 , 7):
print(L[i]-L[k])
【问题讨论】:
-
这些表达式中的任何一个实际上是否相等?我没有看到任何东西。
-
应该有一些通过执行各种变换在数学上是相等的,例如基地转移等。
标签: python sympy symbolic-math