为什么 sympy 避免简化看起来简单的表达式?

问题描述 投票:0回答:1

在执行相等性测试时,我意识到 sympy 似乎无法简化以下表达式:

.

我相信这应该等于零,当你将 sin 重写为复指数时,这一点就会变得清楚。是否存在该表达式无法简化为零的情况,或者 sympy 无法执行简化?

这是一个最小的工作示例:

import sympy as sp
t,lambdaa = sp.symbols('t lambda')
(sp.exp(2*sp.I*t*lambdaa)-2*sp.I*sp.exp(sp.I*t*lambdaa)*sp.sin(t*lambdaa)-1).simplify()
python sympy
1个回答
0
投票

您可以告诉 sympy 根据其他函数重写表达式。在这里,我要求将表达式重写为指数形式,然后我将其简化:

import sympy as sp
t,lambdaa = sp.symbols('t lambda')
e = sp.exp(2*sp.I*t*lambdaa)-2*sp.I*sp.exp(sp.I*t*lambdaa)*sp.sin(t*lambdaa)-1
e.rewrite(sp.exp).simplify()
# out: 0
© www.soinside.com 2019 - 2024. All rights reserved.