球算术(Arb)相较于区间算术(MPFI)有哪些优势?
换句话说,将区间表示为[center, radius]相较于[left, right]有什么优势?
这不是关于特定库(Arb vs MPFI),而是关于特定表示方法的优势。
我特别想知道哪种表示方法允许更快的算术运算(更少的基本操作),更少的误差估计和更节约的内存使用。
球算术(Arb)相较于区间算术(MPFI)有哪些优势?
换句话说,将区间表示为[center, radius]相较于[left, right]有什么优势?
这不是关于特定库(Arb vs MPFI),而是关于特定表示方法的优势。
我特别想知道哪种表示方法允许更快的算术运算(更少的基本操作),更少的误差估计和更节约的内存使用。
忽略性能问题,球体和区间通常可以互换使用,尽管区间更适合用于细分算法。从概念上讲,球体非常适合表示数字,因为中心半径形式自然对应数学中我们对近似的思考方式,这个概念也自然扩展到更一般的有范数向量空间。
就我个人而言,我经常把球体算术看作浮点算术+误差分析,但是误差边界传播是由计算机自动完成而不是手工完成的。在这个意义上,它是一种更好的(对于某些应用程序!)进行浮点算术的方法,而不仅仅是一种更好的区间算术方法。
对于单个数字的计算,过度估计误差与算法相关性更大,而不是表示形式。MPFI保证所有原子函数都计算出最紧密的区间,但是一旦开始组合函数,这个属性就不再保留。无论是球体还是区间算术,只要您运行具有许多依赖步骤的计算,爆炸往往会以相同的方式发生。为了跟踪由于初始条件中的大不确定性导致的误差边界,像泰勒模型这样的技术通常比直接的区间或球体算术更好。
真实的复数球(包括复数中心和单一半径)有时比矩形复数区间更适合表示复数,因为其乘法包裹效应较小。(然而,Arb在复数方面使用矩形“球”,因此它没有这种特定的优势。)