手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Linux下由源码安装ARPACK

时间:2024-10-12 10:00:39

1、ARPACK是MATLAB、Numpy、Scipy等采用的求解矩阵本征值的Fortran数值计算库,可以求解对称、非对称的正定、非正定的厄米、非厄米的实数、复数的矩阵广义、非广义本征值。进入ARPACK官方网站点击左侧download software点击TO GET THE SOFTWARE (Parallel and Serial Codes)下的:See our new software download pagehere的here。

Linux下由源码安装ARPACK

2、这里只安装串行版ARPACK,点击ARPACK建议先阅读Installation procedures这里下载GNU zipped tar file of distribution,点击arpack96.tar.gz 和 patch.tar.gz,下载到linux系统同一个目录下如:~/zipcontainer目录下。

Linux下由源码安装ARPACK
Linux下由源码安装ARPACK

3、转到~/zipcontainer目录下:cd zipcontainer/解压两个压缩文件:tar xzf arpack96.tar.gztar xzf patch.tar.gz此时当前目录下有了一个新的文件夹ARPACK。可以将这个文件夹复制到home目录下:cp -r ARPACK ~/转到home目录下的ARPACK目录下:cd ARPACK/

Linux下由源码安装ARPACK

4、编辑ARmake.inc文件:路径:~/ARPACK文件夹下home = ~/ARPACK平台:可以随意写PLAT = linuxBLAS和LAPACK库的连接请按照指示写,这里假设没有安装BLAS和LAPACK库。这里所用的编译环境fortran77编译器为f77:FC = f77FFLAGS = -O由于所用的环境变量已经配好,所以:MAKE = makeSHELL = sh在此目录下输入:make lib则自动编译。

Linux下由源码安装ARPACK

5、编译完成后就会出现这个数学库的静态链接库:libarpack_linux.a此张虢咆噘时我们可以到EXAMPLE目录下编译自带的示例程序,这里以~/ARPACK/EXAMPLES/C晦倘佳鳎OMPLEX里面的实例为例:cd ~/ARPACK/EXAMPLES/COMPLEXmake complex发现出错,原因是将etime_函数写成了外部函数,解决这个问题要:cd ~/ARPACK/UTIL编辑其中的second.f文件,将第24行注释掉:* EXTERNAL ETIME再回到~/ARPACK/目录下,重新编译:cd ~/ARPACKmake cleanmake lib

Linux下由源码安装ARPACK
Linux下由源码安装ARPACK

6、现在我们再回到~/ARPACK/EXAMPLES/COMPLEX目录下编译实例:cd~/ARPACK/EXAMPLES/COMPLEXmake complex发现仍然出错,原因是蚜扪裎风静态库没有把所有的BLAS和LAPACK库的函数都包含全(如果已经安装好BLAS和LAPACK库的系统则不会出现这个问题)我们只需要分别进到BLAS和LAPACK文件夹下分别将所有文件编译并放到静态库即可。cd ~/ARPACK/BLASmake allcd ~/ARPACK/LAPACKmake all此时我们再回到~/ARPACK/EXAMPLES/COMPLEX目录下编译实例:cd~/ARPACK/EXAMPLES/COMPLEXmake complex就不会出错了。

Linux下由源码安装ARPACK
© 手抄报圈