我写了一个简单的代码来测试boost和lapack但是效果不好
我的代码:
#include < iostream>
#include < boost/numeric/bindings/traits/ublas_matrix.hpp>
#include < boost/numeric/ublas/matrix.hpp>
#include < boost/numeric/bindings/lapack/syev.hpp>
#include < boost/numeric/ublas/io.hpp>
namespace ublas = boost::numeric::ublas;
namespace lapack = boost::numeric::bindings::lapack;
int main() {
ublas::matrix<double> A(3,3);
ublas::vector<double> B(3);
A(0,0)=1;
A(1,1)=2;
A(2,2)=4;
A(0,1)=.5;
A(0,2)=.25;
A(1,2)=.3;
lapack::syev('V','L',A,B);
std::cout << A << std::endl;
return 0;
}
我在 ubuntu 10.04
g++ -llapack test.cpp上构建的选项 g++
这是错误:
调用 'syev(char....... )' 没有匹配的函数</p>
如果没有“lapack::syev('V','L',A,B);” 建好了!
请帮助我!