2017-09-09 30 views
2

私はsympyで指数の対数を単純化するには?

import sympy as sp 
x = sp.Symbol('x') 
sp.simplify(sp.log(sp.exp(x))) 

を入力すると、私は

log(e^x) 

代わりのxを得ます。私はこの機能に「保証はありません」と知っています。

質問。指数の対数をアイデンティティ関数に変換するいくつかの特定の簡素化(級数展開などによる)がありますか?

import sympy as sp 
x = sp.Symbol('x', real=True) 
print(sp.simplify(sp.log(sp.exp(x)))) 

出力:xあなたは実数型にxを設定すると、あなたのコードが動作する必要があり

+0

[ 'sympy.expand_log(...、力=真)'](http://docs.sympy.org/latest/tutorial/simplification.html#expand-log)が動作するようです。 – jedwards

+0

私は受け入れられたバージョンがより良い理解を与えるのでより良いと思う:仮定を無視するのではなく、明示的にそれらを述べる方が良いです。しかし、 "力"バージョンを持つことは有益です。計算の最後に簡略化して 'expand_log'を実行すれば領収書も有効です。 –

答えて

2

xの結果は、必ずしもxに等しいとは限りません。例はhereです。

2

expandは、実質的に変数を宣言することなく、このような特定の前提を基本的に持つforceキーワードを提供するため、簡略化を強制したい場合に役に立ちます。しかし、結果に注意してください。これらの前提が正当でない場合は、使用したくないでしょう。

>>> log(exp(x)).expand(force=True) 
x 
関連する問題