fredrikj.net / blog /

Arb 2.9.0 released

December 2, 2016

I have tagged Arb 2.9.0. The last public release (Arb 2.8.1) is almost one year and 700 commits old, which is far too much! I hope to get back to more regular releases (every 1-2 months) next year. I want to thank Pascal Molin, Alex Griffing, Isuru Fernando, Tommy Hofmann, Ricky Farr and Andreas Enge who contributed code to this version. Many others have helped out by reporting bugs or providing feedback.

The list of changes from Arb 2.8 to Arb 2.9 is reproduced below. As usual, the Arb documentation (now with its own domain, arblib.org) describes the methods in more detail.

A few highlights: Arb now supports Dirichlet L-functions (implemented by Pascal Molin and myself), Alex Griffing has done a lot of nice work on matrix operations, and the code for hypergeometric functions has been improved substantially. There are lots of new utility methods, build improvements, optimizations, and at least one serious bug fix. I'm not going to write in detail about the new features here, but do see the following posts: Taking the error out of the error function, The Riemann-Siegel formula in Arb, Dirichlet L-functions in Arb.

Another significant change is that the license has been switched from GPL to LGPL. The same switch was also made in FLINT, so Arb and its dependencies are now all LGPL.

In other news, I have written a preprint titled Arb: Efficient Arbitrary-Precision Midpoint-Radius Interval Arithmetic. This paper describes how Arb implements floating-point numbers and interval operations at a low level and clarifies how the precision and error bounds are managed. Assuming that it gets published, this paper will supplant my extended abstract from 2013 (which is woefully out of date) as a citable reference.

Changes from Arb 2.8 to 2.9