sympy atan 没有返回确切的值

sympy atan not returning exact value

以下输入,当运行通过sympy

atan(2+sqrt(3))

returns

1.30899693899575

而不是

5π/12

这是为什么?

如果您怀疑结果可以用 pi 表示,您可以尝试 nsimplify 并提示将 pi 作为常量给出。

>>> nsimplify(atan(sqrt(3) + 2), [pi])
5*pi/12

顺便说一句,您可以通过查看 eval 方法的源代码来了解任何三角函数可以识别哪些特殊值。