英语|日本
上次更新日期:2024年2月7日
kv-用于验证数值计算的C++库
Masahide Kashiwagi公司
1.简介
一组用于验证数值计算的库(kv库),这是用C++语言编写的,可以在这个页面下载。有关验证数值计算和kv库的概述,请看幻灯片:
kv-简介-e.pdf
(84页)
在旧版本的kv库(从2007年秋季到2013年春季开发)中,使用了Boost中的间隔库(Boost.interval)。在当前版本的kv库中(请参阅,3。下载并安装),所有关于区间算术的程序都是最初生成的,而Boost中的一些函数仍部分用于kv库,例如用于线性代数的Boost.ublas。
2.要求
需要一个C++程序和Boost可以工作的计算环境来使用kv库。我们需要改变取整模式来实现区间算术。请参见5.区间算术和20.更改舍入模式和编译器选项有关CPU和编译器要求的详细信息。
基本上,当前的kv库是在Ubuntu 22.04(64位)+gcc上开发的。建议使用Unix操作系统(64位),虽然已确认kv库在以下计算环境中工作:
- ubuntu 22.04(64位)+gcc 11.2.0
- ubuntu 22.04(64位)+clang 14.0.0
- ubuntu 20.04(64位)+gcc 9.3.0
- ubuntu 20.04(64位)+clang 10.0.0
- ubuntu 18.04(64位)+gcc 7.3.0
- ubuntu 18.04(64位)+clang 6.0.0
- ubuntu 16.04(64位)+gcc 5.3
- ubuntu 16.04(64位)+clang 3.8
- ubuntu 14.04(64位)+gcc 4.8
- ubuntu 10.04(64位)+gcc
- ubuntu 10.04(32位)+gcc
- windows10(64位)+Visual Studio 2017
- windows7(64位)+Visual Studio 2015
- windows7(64位)+Visual Studio 2013
- windows7(64位)+Visual Studio 2008
- windows7(64位)+cygwin+gcc
- Windows7(64位)+MSYS2(64位
- M1 MacBook Air+Mac OS Monterey+gcc 12.2/clang 14.0.6
- Mac OS X雪豹+gcc
- Mac OS X优胜美地+gcc
- MK802(ARM)+gcc上的ubuntu 12.04
- 覆盆子皮+覆盆子+gcc
- 夏普NetWalker PC-Z1+ubuntu 9.04+gcc
- 英特尔爱迪生+gcc
- chromebook(ARM)+gcc上的Debian 10(buster)
3.下载并安装
下载:kv-0.4.56.tar.gz(2024年2月7日更新)
(可下载旧版本在这里.)您还可以在上访问kv的源代码https://github.com/mskashi/kv.
kv库设计为无需“安装”(因此也可以“制作”),但只使用头文件本身。展开kv库的存档文件后,将构建kv、test和example三个目录。kv库的主要组件位于“kv”目录中。因此,在设置目录“kv”和其中的所有文件后,kv库可用到适当的目录中(例如,当前目录或/usr/local/include)。
kv库提供的所有函数都限制在“kv”的命名空间中,因此这些函数不会与其他库竞争。
kv库的运行确认可以通过在“test”或“example”中编译一些.cc文件来完成。例如,在
- 扩大kv图书馆档案,和
- 将Boost设置为/usr/local/include/,
您可以通过输入以下命令(在“test”目录中)来验证kv库的操作。c++-I.-I/usr/local/include test-interval.cc
注意,应该在上述命令中指定kv库和Boost文件所在的目录。建议指定选项-臭氧(或其他可能的优化选项)和-DNDEBUG公司,这两者都会严重影响执行速度(NDEBUG宏的详细信息可以在助推.ublas).另外,请注意-DKV_地面可以执行更快的区间算术当使用英特尔的CPU和64位操作系统时。
当您更改计算环境或编译选项时,建议重新检查四次算术和平方运算的舍入模式是否正确更改,通过编译和执行test/test-rounding.cc。
22.附录
26.结束语
此库用于希克莫特并大大提高了其速度。我的实验室和发展是根据他们的不同意见进行的。由于图书馆除非被很多人使用,否则不会得到改善,我希望很多人会使用这个图书馆。
为了这个图书馆的发展,NTT网络创新实验室的Keiichiro Kashiwagi先生得到了大量合作。我在此表示感谢。
版权所有(c)2013-2022 Masahide Kashiwagi。本软件发布于麻省理工学院许可证.
kv-用于验证数值计算的C++库/