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);」がない場合 ビルドOKです!
助けてください!!

4

1 に答える 1

1

libboost-all-devパッケージをインストールしてください。

于 2012-07-15T12:18:39.130 に答える