1

我想探索我的算法(使用标准双精度算法)的一些不同实现的数值精度。不幸的是,在许多情况下,我不知道封闭格式中的正确结果,所以我需要找到一种方法来使用一些非常高精度的计算来计算基准结果。高精度数值计算

这是一个有趣的项目,所以我的约束是:没有预算的工具,最好是Linux平台。我知道Mathematica提供自动错误跟踪和任意精度算术,但我没有许可证。执行速度不是问题,因为这些高精度计算仅用于计算基准。

编码这些高精度计算的最佳方法是什么?我正在寻找至少四倍精度,但最好甚至更高。我目前唯一的想法是使用quad precision floating point types in C++

+4

我不会发布这个答案,因为它只是链接,但http://www.mpfr.org提供所有您应该需要的任意精度浮点基元。 – 2014-09-25 09:41:54

+0

你可以使用这个标签找到很多解决方案[标签:任意精度] http://stackoverflow.com/questions/6414714/arbitrary-precision-arithmetic-with-gmp http://stackoverflow.com/questions/2568446/在最佳跨平台的可移植的任意精度,数学库?RQ = 1 – 2014-09-25 12:31:29

回答

1

我发现Julia很适合这项工作。其中的优点

  • 它很容易编写,并且有一个方便的REPL或可以使用IPython笔记本接口。
  • 它带有包装MPFR库的本地任意精度BigFloat类型和包装GMP库的BigInt
  • 它是“东张西望”的东西,看看其他方法做什么,看看llvm和本地汇编代码。