一个大的浮点虚构的论证的指数

时间:2012-12-19 19:03:41

标签: floating-point floating-accuracy complex-numbers exp

如何计算exp(i * x)其中| x | >> 2 pi?

我知道可以使用任意精度库来完成,但是有一个算法可以稳定地执行(没有舍入错误),不需要库吗?

1 个答案:

答案 0 :(得分:4)

exp(i*x)cos(x) + i*sin(x)。即使cos(x)很大,一个好的数学库也会正确计算sin(x)x。例如,您应该在几个ULP内使用OS X或iOS标准数学库获得正确的结果。

在C中,这应该有效:

#include <complex.h>
…
    double complex Y = cexp(I * x);