FORTRAN 90/95库稀疏矩阵?(Fortran 90/95 library for spar

2019-07-31 11:04发布

我在寻找与稀疏矩阵在FORTRAN 90/95处理库。 我只需要像矩阵向量乘法非常基本的操作。 你有什么建议我用?

我已经四处搜寻和扩展BLAS称为“稀疏BLAS”,在爆炸技术论坛规范的第3章记录(?):

http://www.netlib.org/blas/blast-forum/ ,

似乎是理想的。 根据该文件,应该有一个Fortran 95的接口库。 但是,我一直没能找到一个实际执行本规范的任何地方,我是能够下载。 我有种得到的印象是该Fortran 95个稀疏BLAS规范是不是真的在任何地方实施? 还不如开源反正。

我还发现了一个库调用sparsekit:

http://people.sc.fsu.edu/~jburkardt/f_src/sparsekit/sparsekit.html

任何人得到这两个中的任何一个,或FORTRAN 90/95任何其他稀疏矩阵库的经验吗? 我想就用哪一个建议,而且还从哪里得到它(在sparsekit的情况下,源代码可以通过上面的链接)。 有没有像“标准”为稀疏矩阵东西,像BLAS是密集的?

干杯,

阿恩

Answer 1:

好吧,我会部分地回答我自己的问题:

在哪里可以找到稀疏BLAS的f95的全面实施是由@alexurba上面提供:

http://www.netlib.org/toms/818

原来如此! 该脚本创建你运行它(我以前从未见过以这种方式提供的软件)文件夹中的所有源代码。

为了使安装脚本的工作,我需要做一些改变:安装说明告诉你如何编辑INSTALL脚本,并选择适当的“拱”。 你的选择是:AIX,ALPHA,CRAY,HP,NAG,SGI,防晒。 这些都不似乎是适当的给我,因为我使用Linux和唯一的Fortran编译器我有这台电脑是gfortran。 我不太明白这个选项的目的,但我却认为工作是以下几点:

1)在安装,弥补一个新的“拱”我打电话GNU通过设置变量SB_ARCH =“GNU”。 2)在软件/生成文件改变FC = F90到FC = gfortran,3)在TESTER /文件Makefile.NAG复制到Makefile.GNU,改变FC = F90到FC = gfortran,并且改变字NAG的”所有实例“到 'GNU'。 (你可能也想改变在Makefile中的FFLAGS选项。)

在此之后我跑安装,然后测试仪/ test_all,并且测试吐出“0.000 ......”为错误,我认为意味着一切正常。

我必须说,我发现找到这个源代码异常困难。 幸运的是,搜索时“FORTRAN 90稀疏矩阵库”现在这个线程出现在谷歌相当高。

我的最终解决方案:具有讽刺意味的后,终于找到一个全面实施稀疏BLAS的我已经决定,我的问题,最好是用更直接的方式,因为所有我可能会需要的是矩阵向量乘法:弄清楚稀疏矩阵表示使用(压缩稀疏行(CSR)似乎是适合我的问题),挖掘出从稀疏BLAS源代码对应的矩阵向量乘法程序,看看它是如何想它的输入,并且只使用直接在我的代码。



文章来源: Fortran 90/95 library for sparse matrices?