1

我写了一个简单的代码来测试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);” 建好了!
请帮助我!

4

1 回答 1

1

请安装libboost-all-dev软件包。

于 2012-07-15T12:18:39.130 回答