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獲得這個結果?