This is an announcement of a preliminary version of ValidatedNumerics.jl, a Julia package for performing validated floating-point calculations via interval arithmetic.
Currently, the package consists of a pure-Julia implementation of interval arithmetic. It uses macros extensively to produce intervals that are rigorously guaranteed to enclose the user's input. These can then be manipulated using standard arithmetic operations and elementary functions: julia> a = @interval(π) [3.1415926535897931e+00, 3.1415926535897936e+00] with 53 bits of precision julia> b = @interval(0.1+pi, pi^2) [3.2415926535897928e+00, 9.8696044010893615e+00] with 53 bits of precision julia> a * b [1.0183763666448336e+01, 3.1006276680299834e+01] with 53 bits of precision julia> exp(a-b) [1.196910353930426e-03, 9.0483741803596041e-01] with 53 bits of precision Further examples are given in the README at https://github.com/dpsanders/ValidatedNumerics.jl Functionality building on top of this base, such as root-finding methods, are currently in active development. A comparison and/or tests with the MPFI.jl wrapper around the MPFI interval library is also planned. Suggestions and contributions are warmly welcomed. The authors of the package are Luis Benet and David P. Sanders.
