Arb: a C library for ball arithmetic

Arb 1 is a new open source C library for provably correct arbitrary-precision numerics, extending FLINT [3] (which provides fast arithmetic over various exact rings) to the real and complex numbers. Following the example of iRRAM [7] and Mathemagix [13], Arb performs automatic error propagation using ball arithmetic [12] (not to be confused with heuristic significance arithmetic as used e.g. in Mathematica [9]). This gives performance close to floating-point arithmetic such as provided by MPFR [2] while avoiding the cost at high precision of endpoint-based interval arithmetic as provided for instance by MPFI [8]. One of our motivations for developing a new library has been to provide a low-level, low-overhead interface, and our implementation differs from others in some technical aspects. Arb also provides fast polynomial arithmetic, to our knowledge only available in Mathemagix and without error control in MPFRCX [1], as well as matrix arithmetic. Finally, Arb implements some special functions that have been absent from arbitrary-precision interval software, with performance that compares favorably to available nonrigorous implementations. The presentation covers implementation details and shows some benchmarks.

[1]  William B. Hart,et al.  Fast Library for Number Theory: An Introduction , 2010, ICMS.

[2]  Bernd Schmalz t-Designs zu vorgegebener Automorphismengruppe , 1992 .

[3]  Peter J. Cameron,et al.  Designs, graphs, codes, and their links , 1991 .

[4]  Alfred Wassermann,et al.  Finding simple t-designs with enumeration techniques , 1998 .

[5]  Jeffrey S. Leon,et al.  Partitions, refinements, and permutation group computation , 1995, Groups and Computation.

[6]  Norbert Th. Müller,et al.  The iRRAM: Exact Arithmetic in C++ , 2000, CCA.

[7]  Fabrice Rouillier,et al.  Motivations for an Arbitrary Precision Interval Arithmetic and the MPFI Library , 2005, Reliab. Comput..

[8]  Joris van der Hoeven,et al.  Mathemagix: the quest of modularity and efficiency for symbolic and certified numeric computation? , 2012, ACCA.

[9]  Paul Walton Purdom,et al.  Backtrack Searching in the Presence of Symmetry , 1988, Nord. J. Comput..

[10]  Vincent Lefèvre,et al.  MPFR: A multiple-precision binary floating-point library with correct rounding , 2007, TOMS.

[11]  William Hart,et al.  Practical Divide-and-Conquer Algorithms for Polynomial Arithmetic , 2011, CASC.

[12]  Mark Sofroniou,et al.  Precise numerical computation , 2005, J. Log. Algebraic Methods Program..

[13]  Anton Betten Rainbow cliques and the classification of small BLT-sets , 2013, ISSAC '13.

[14]  Jens Blanck,et al.  Computability and complexity in analysis : 4th International Workshop, CCA 2000, Swansea, UK, September 17-19, 2000 : selected papers , 2001 .

[15]  Cheryl E. Praeger,et al.  Unitals in the Desarguesian projective plane of order 16 , 2014 .

[16]  Xian-jin Li,et al.  The Positivity of a Sequence of Numbers and the Riemann Hypothesis , 1997 .