我写了一个简单的代码来测试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;
}
我选择g ++构建在ubuntu 10.04上 g ++ -llapack test.cpp
这是错误:
没有匹配函数来调用'syev(char .......)'
如果没有“lapack :: syev('V','L',A,B);”它构建好了!
Plz帮助我!!
答案 0 :(得分:1)
请安装libboost-all-dev
包。