谢谢您。我发现可能我调用的函数有问题。我查阅了MKL的手册,比如对于计算特征值的HSEQR函数,手册上有这么几种可选:
Syntax
call shseqr(job, compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info)
call dhseqr(job, compz, n, ilo, ihi, h, ldh, wr, wi, z, ldz, work, lwork, info)
call chseqr(job, compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info)
call zhseqr(job, compz, n, ilo, ihi, h, ldh, w, z, ldz, work, lwork, info)
call hseqr(h, wr, wi [,ilo] [,ihi] [,z] [,job] [,compz] [,info])
call hseqr(h, w [,ilo] [,ihi] [,z] [,job] [,compz] [,info])
对于最后一种hseqr,使用的参数最少,而且我只需要特征值而不需要特征向量,因此应该是最好的选择。但调用这个函数会报错:
error #6285: There is no matching specific subroutine for this generic subroutine call. [HSEQR]
而调用前面的参数多点的函数,比如dhseqr什么的,编译就没问题。您知道这个是什么原因吗?非常感谢。 |