1. 求大型矩阵的特征值和特征向量,对称矩阵或非对称矩阵都有可以求,实数阵或复数阵都可以解,因Arnoldi Method(阿诺德)而得名。
ARPACK is a collection of Fortran77 subroutines designed to solve large scale eigenvalue problems.
有两个关键词,一是Implicitly Restarted Arnoldi Method,隐式重开始Arnoldi方法。
This software is based upon an algorithmic variant of the Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM).
另一个是Reverse Communication Interface,逆通讯接口。
官网: http://www.caam.rice.edu/software/ARPACK/
官网上有指导书,反复阅读一下前两章大概就可以用了。
这个软件包应该可以在各种系统的各个编译器下应用。
2. C++版本:
同样在Arpack的官网上有链接,但貌似是主攻稀疏矩阵,矩阵按压缩方式存储。当然指定不为零元素个数时,设置成N×N,也可以。
3. C语言版本:
可以在Suvrit的个人主页上下载:http://people.kyb.tuebingen.mpg.de/suvrit/work/progs/eigs.html
4. 尽管有C/C++版本的Arpack,本人认为在编写C/C++程序时,采取调用Fortran版,也就是原版的程序是一个不错的选择。这设计到C/C++与Fortran的混合编程,在本人的资源里有一篇文档,对这个技术进行了介绍。题目是:基于VS2008和IVF11的C/C++和Fortran混合编程(第二版)。这是在根据网友fkguo的建议写成的修改版,第二版。
ARPACK是一个用Fortran编写的大型矩阵特征值问题解决库,支持隐式重开始Arnoldi方法和逆通讯接口。它可在各种编译器下运行,并有C++和C版本,尤其适合处理稀疏矩阵。调用Fortran原版进行混合编程也是可行的选择,相关技术在文档中有所介绍。
428

被折叠的 条评论
为什么被折叠?



