kv - a C++ Library for Verified Numerical Computation
For overview of verified numerical computation and kv library, please see the slide: kv-intro-e.pdf (94 pages)
In old versions of kv library (which had been developed from the autumn, 2007 to the spring, 2013), the interval library in Boost (boost.interval) was used. In the present version of kv library (see, 3. Download and Install), all programs with respect to interval arithmetics are originally produced, whereas some functions in Boost still partially used in kv library, e.g., boost.ublas for linear algebras.
We need to change rounding mode to realize interval arithmeric. See 5. Interval Arithmetic and 20. Changing Rounding Mode and Compiler Options for details of the requirements on CPU and compiler.
Basically, the present kv library is developed on Ubuntu 26.04 (64bit) + g++. Unix operating systems (64bit) are recommended, while it was confirmed that kv library works on the following computational environments:
You can also access to the source code of kv on https://github.com/mskashi/kv .
The kv library is designed to work without "install" (and therefore "make") but only with the header files in itself. The all functions provided by kv library are confined in the namespace of "kv" so that these functions does not compete with other libraries.
For detailed installation and testing instructions, please see Getting Started.
It is recommended to specify the options -O3 (or other possible optimization options) and -DNDEBUG, both of which strongly affect the execution speed (the details of the NDEBUG macro can be found in boost.ublas). Additionally remark that the option of -DKV_FASTROUND is available to perform faster interval arithmetics when using an Intel's CPU and a 64bit operating system.
When you change your computational environment or compile options, it is recommended to re-check whether the rounding mode is correctly changed for the four arithmetic and square-root operations, by compiling and performing test/test-rounding.cc.
Since the library will not be improved unless it is used by a lot of people, I hope many people will use this library.
For the development of this library, Mr. Keiichiro Kashiwagi of NTT Network Innovation Laboratories got a great deal of cooperation. I express my gratitude here.
Copyright (c) 2013-2026 Masahide Kashiwagi. This software is released under the MIT license.