Sympy 对 tan 函数的计算

Sympy calculation on tan function

当我在 sympy 中简化具有三角函数和复数指数的符号表达式时遇到问题,即我只是假设了 tan 函数的不同定义,并且发生了一件奇怪的事情。所以我这样做:

# Deleting variables
from IPython import get_ipython;   
get_ipython().magic('reset -sf')

import sympy as sym;

# defining variables
test1 = sym.Symbol('test');
test2 = sym.Symbol('test2');
a = sym.Symbol('a');

# Defining tests
test1 = sym.tan(a) + sym.I*(sym.exp(sym.I*a)-sym.exp(-sym.I*a))/(sym.exp(sym.I*a)+sym.exp(-sym.I*a));
test2 = sym.I*(sym.exp(sym.I*a)-sym.exp(-sym.I*a))/(sym.exp(sym.I*a)+sym.exp(-sym.I*a));

符号变量 sym.simplify(test2) 等于 -tan(a) 并且通常 test1 变量应等于 0,但是当我简化 test1 变量时,我确实得到:

sym.simplify(test1)
Out[140]: 
(-I*(1 - exp(2*I*a)) + (exp(2*I*a) + 1)*tan(a))/(exp(2*I*a) + 1)

所以问题是我哪里出错了,如何告诉 Python 简化 text1 表达式以获得它自然应该是的 0

根据 exp 重写然后简化得到 0

test1.rewrite(sym.exp).simplify()