三角函数:参数约简



我正在尝试实现区间算术的三角函数,最好是< ulp误差,这需要手动精确计算三角函数。第一步通常是论点减少,但我不确定论点减少通常是如何实现的。例如,使用Python,我得到以下结果:

>>> import math
>>> math.sin(1e100)
-0.3806377310050287

我期望它做的是应用模2 * math.pi,但这给了我一个不同的结果:

>>> math.sin(1e100 % (2 * math.pi))
0.6806339877607344
>>> math.sin(math.remainder(1e100, 2 * math.pi))
0.6806339877607344

三角函数的参数约简是如何完成的?

这似乎是大多数实现简单地使用高精度pi的情况。当然也存在其他策略,但它们都归结为以某种方式使用大量的精确度。一旦你有了一个非常精确的pi值,你可以简单地取x % (2 * pi)并以此为基础进行计算。

相关内容

  • 没有找到相关文章

最新更新