在稀疏矩阵线性方程组求解器开发中,经常需要采用不同规模,不同类型的稀疏矩阵进行测试。寻找大量的稀疏矩阵数据是一个重要的需求。
众所周知,对于不同领域的问题,稀疏矩阵的非零元素分布位置和稀疏矩阵的特性是不一样的。如计算流体动力学和计算固体力学中稀疏矩阵的性质可能区别很大,甚至不同的单元类型,比如一阶单元和二阶单元,稀疏矩阵的非零元素分布和特性也不一样。
实际上,已经有一些网站收藏了大量的稀疏矩阵数据,我们在需要时,可以从这些网站进行下载。本文提供两个常见的稀疏矩阵数据的网站:
(一)
https://math.nist.gov/MatrixMarket/
这个叫Matrix Market的网站提供了各个不同领域的近500个稀疏矩阵,以及一些可以生成稀疏矩阵数据的代码和软件。
进入网站后,可以按照规模大小,矩阵名称等进行排序查找,也可以通过稀疏矩阵的应用领域进行查找。
在选择一个稀疏矩阵进入后,页面会提供下载文件,常见的格式包括MatrixMarket等,并且还有图片显示这个矩阵的非零元素分布以及矩阵的特性以及来源。
这里提一下MatrixMarket格式,这种格式实际上就类似于通常所说的COO格式,即以row,col,value的形式表示稀疏矩阵的分布和值,如下所示:
当然,MatrixMarket格式在开头还增加了一行,表示稀疏矩阵的行数,列数和非零元素格式。
这种格式应用也比较广泛,在开源多重网格法求解器amgcl中,其直接提供了函数读取MatrixMarket的文件。当然,如果我们需要将其转换成CSR,CSC等格式,也可以通过一定的程序完成。
(二)
这个网站提供的稀疏矩阵数量更多,更全面,根据显示其提供了2893个稀疏矩阵的数据,可供下载的格式包括Matlab,Rutherford Boeing和Matrix Market。
在这个网站中,规模最大的矩阵为226196185行的规模,非0元素个数达到了48074894,这个规模还是很大的,亿级自由度,把这个矩阵下载下来,也需要占用不少的硬盘。
以上,即是本文推荐的两个稀疏矩阵数据的下载网站,需要测试稀疏矩阵的同仁们,可以快速下起来,看下您的稀疏矩阵方程组求解器算得到底快不快,准不准。
本文完,感谢阅读!