2012-06-17 147 views
1

在我的quest中快速解决对称实矩阵的特征向量问题(我只需要前N个特征值和向量,其中“first”指最大(实数)值)我试图在Windows上运行ARPack ++。我使用MSVS 2010进行开发。在Windows上使用Visual Studio中的ARPACK ++

我目前在链接地狱。我也不是99年的C++专业人士,他早餐吃点零食。

首先,ARPACK ++是一个只有标题的库,这很好!它依赖于ARPACK,并且ARPACK再次依赖于BLAS和LAPACK。幸运的是,对于Windows用户,BLAS,LAPACK和ARPACK,以及ARPACK ++的.lib和.dll文件are available已被patched支持,因此它可以与现代编译器一起工作(并且包含一些错误修复)。

看起来,ARPACK ++引入了所需的依赖关系到库。这是因为,在我来说,我需要使用

ARluSymStdEig<ARFLOAT> prob(nev, matrix, which, ncv, tol, 
          maxit, resid, AutoShift); 

类/ CTOR,它的名​​称中“吕氏春秋”,我确实也得到没有的符号。 我尝试的下一件事是从当时(2000ish)抓取SuperLU库,这是SuperLU 2.0。这个可以直接使用MSVS2010进行编译(与ARPACK比较,例如必须使用MinGW/MSys进行编译,除非您支付英特尔的FORTRAN编译器)。我包括我创建的静态superlu2.lib,但似乎SuperLU本身具有的只是宣告但尚未实施的方法,特别是

void cusolve(int, int, complex*, complex*); 
void clsolve(int, int, complex*, complex*); 
void cmatvec(int, int, int, complex*, complex*, complex*); 

cgstrs.c。现在我被困住了,不知道如何继续:/看起来SuperLU再次拥有依赖关系,但他们没有被提及。

回答

0

事实证明,我忘了做的只是将SuperLU的“src”中的所有.c和.h文件添加到VS项目中,而且还要添加“cblas”目录中的文件。所有的依赖关系都解决了。

相关问题