Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何计算 exp(i * x) where |x| >> 2 圆周率?
我知道它可以用任意精度库来完成,但是有没有一种算法可以稳定地完成它(没有舍入错误),不需要库?
exp(i*x)是cos(x)+ i*sin(x)。即使很大,一个好的数学库也能正确计算cos(x)。例如,您应该在几个 ULP 内使用 OS X 或 iOS 标准数学库获得正确的结果。sin(x)x
exp(i*x)
cos(x)
i*sin(x)
sin(x)
x
在 C 中,这应该有效:
#include <complex.h> … double complex Y = cexp(I * x);