0
我试图使用Sympy
重新排列简单表达式;尽管看起来Sympy
拒绝将结果保留为符号表达式,而是用数字计算对数。与Sympy重排的简单符号代数不能保留对数符号
有没有办法迫使Sympy
象征性地返回结果?
这里是一个最低工作例如:
import sympy as sy
sy.init_printing()
def rearrange(expression, lhs):
rhs = sy.solve(expression,lhs)[0]
return sy.Eq(lhs, rhs)
a, b = sy.symbols('a, b', real=True, positive=True)
eqn = sy.Eq(sy.exp(-a**2/b**2), 0.5)
rearrange(eqn, a)
返回
a=0.832554611157698b
这当然是正确的答案,但我宁愿被告知的符号代数的结果,这(当手动派生时)是:
a = sqrt(log(2)) * b
其中log是基e(即natur al日志,ln)。
我如何从Sympy获得这个结果?