極形式で複素数を扱っているときに、奇妙な動作を経験しました。たとえば、
from sympy import *
simplify(Abs(exp(I)))
指数が虚数のみの場合、複素指数の絶対値は常に 1 であるため、結果は 1 になると予想されます。ただし、sympyは答えとして与えます
Abs(exp(I))
代替手段を実行する
phi=symbols('phi', real=True)
y=exp(I*phi)
sqrt(y*conj(y))
期待される結果が得られますが、私の意見では abs よりも明確ではありません。abs を使用するだけで sympy がこの単純化を実行できないようにする制約を見逃したのでしょうか?