简体   繁体   English

在 Sympy 中扩展复指数以触发函数

[英]Expand complex exponentials to trig functions in Sympy

I have the following sympy code:我有以下 sympy 代码:

W, k = symbols('W k', real=True)
expr = exp(W)*(exp(I*k) - exp(-I*k))
print(expr)

and I would like sympy to simplify it to:我希望 sympy 将其简化为:

exp*(W)(2*I*sin(k)

I have tried expr.simplify() and expr.trigsimp() but they don't substitute any trig functions.我试过expr.simplify()expr.trigsimp()但它们不能替代任何触发函数。 The only partial solution I was able to find is我能找到的唯一部分解决方案是

expr.rewrite(cos).trigsimp()

but this also expands exp(W) to hyperbolic sine/cosine, which I don't want.但这也将exp(W)扩展为双曲正弦/余弦,这是我不想要的。

Ok, using好的,使用

expr.rewrite(cos).simplify()

worked.工作。

expr.expand(complex = True).simplify()

应该管用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM