我对 e^(2 pi I / 8) 的尝试不起作用,因为它立即将其转换为平方根:
from sympy import E, pi, I, re
root = E**(2 * pi * I / 8)
print(root)
print(root.rewrite(cos))
print(re(root).rewrite(cos))
从这些打印语句中我得到:
exp(I*pi/4)
sqrt(2)/2 + sqrt(2)*I/2
sqrt(2)/2
我想得到实部的 cos(2 pi/8) 和虚部的 sin(2 pi/8) 。但正如您所看到的,它直接计算平方根。我怎样才能得到三角表示?
这有点 hacky,但您可以为 pi 定义自己的符号,而不是使用 sympy.pi 以避免实际评估余弦和正弦:
from sympy import E, I, symbols, cos
mypi = symbols("pi")
root = E**(2 * mypi * I / 8)
print(root)
print(root.rewrite(cos))
输出:
exp(I*pi/4)
I*sin(pi/4) + cos(pi/4)