英语|日本
上次更新日期: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库在以下计算环境中工作:

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文件来完成。例如,在

您可以通过输入以下命令(在“test”目录中)来验证kv库的操作。
c++-I.-I/usr/local/include test-interval.cc
注意,应该在上述命令中指定kv库和Boost文件所在的目录。

建议指定选项-臭氧(或其他可能的优化选项)和-DNDEBUG公司,这两者都会严重影响执行速度(NDEBUG宏的详细信息可以在助推.ublas).另外,请注意-DKV_地面可以执行更快的区间算术当使用英特尔的CPU和64位操作系统时。

当您更改计算环境或编译选项时,建议重新检查四次算术和平方运算的舍入模式是否正确更改,通过编译和执行test/test-rounding.cc。

4.部件清单

5.区间算术(区间)

6.双精度算术(dd)

7.英特尔80位浮点数(_Float64x,ddx)(日语)

8.MPFR包装纸(MPFR)(日语)

9.复数算术(复数)(日语)

10.自动区分(autodif)(日语)

11.仿射算术(仿射)(日语)

12.幂级数运算(psa)(日语)

13.用Krawczyk方法验证非线性方程(日语)

14.找到非线性方程的所有解(日语)

15.ODE初值问题验证(日语)

16.初值问题的求解器和用打靶法验证边值问题(日语)

17.数值积分(日语)

18.特殊功能验证(日语)

19.其他功能(日语)

20.功能对象和问题描述(日语)

21.更改舍入模式和编译器选项

22.附录

22.1什么是Boost?(日语)

22.2使用boost.ublas进行矩阵计算(日语)

22.3数字类型(日语)

22.4优点:一个简单的区间算术库

23.kv图书馆网络演示

24.kv图书馆应用实例(日语)

25.与kv图书馆相关的论文或文章(日语)

26.结束语

此库用于希克莫特并大大提高了其速度。我的实验室和发展是根据他们的不同意见进行的。

由于图书馆除非被很多人使用,否则不会得到改善,我希望很多人会使用这个图书馆。

为了这个图书馆的发展,NTT网络创新实验室的Keiichiro Kashiwagi先生得到了大量合作。我在此表示感谢。

版权所有(c)2013-2022 Masahide Kashiwagi。本软件发布于麻省理工学院许可证.

更新历史记录(日语)

确认(日语)


kv-用于验证数值计算的C++库/