[英]Sympy absolute value of complex exponential
当处理极地形式的复数时,我经历了一种奇怪的行为。 例如,做
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时症状执行此简化?
simplify
绝对可以更聪明。
通常,为了简化使用复数的事情,请使用expand_complex
,它尝试将表达式重写为a + b*I
,其中a
和b
是实数。 这适合我。
In [17]: (abs(exp(I))).expand(complex=True)
Out[17]:
___________________
╱ 2 2
╲╱ cos (1) + sin (1)
In [18]: simplify(abs(exp(I)).expand(complex=True))
Out[18]: 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.