Real and complex numbers (Arb) : detailed table of contents

General information

Example programs

Floating-point numbers

Arb uses two custom floating-point types in its implementation of ball arithmetic. The radius of a ball is represented using the type mag_t which is unsigned and has a fixed precision. The midpoint is represented using the type arf_t which has arbitrary precision.

Real and complex numbers

Real numbers (arb_t) are represented as midpoint-radius intervals, also known as balls. Complex numbers (acb_t) are represented in rectangular form, with arb_t balls for the real and imaginary parts.

Polynomials and power series

These modules implement dense univariate polynomials with real and complex coefficients. Truncated power series are supported via methods acting on polynomials, without introducing a separate power series type.



These modules implement dense matrices with real and complex coefficients. Rudimentary linear algebra is supported.

Special functions

These modules implement mathematical functions with complexity that goes beyond the basics covered directly in the arb and acb modules.


Using ball arithmetic, it is possible to do rigorous root-finding and integration (among other operations) with generic functions. This code should be considered experimental.


Floating-point wrappers for Arb functions.

Extra utility modules

Mainly for internal use.

Supplementary algorithm notes

Here, we give extra proofs, error bounds, and formulas that would be too lengthy to reproduce in the documentation for each module.