2017-07-10 9 views
0

私はアルマジロを持って、私は「テスト」私がコンパイルしようとすると、それArmadilloを使用して固有ペアを計算するにはどうすればよいですか?

int main(){ 
    double myMatrix[6][6]; 
    for (int i = 0; i < 6; i++){ 
     for (int j = 0; j < 6; j++){ 
      myMatrix[i][j] = i+2*j; 
     } 
    } 

    mat ARMA_L; 
    vec ARMA_eigenval; 
    mat ARMA_eigenvec; 

    for (int i = 0; i < 6; i++){ 
     for (int j = 0; j < 6; j++){ 
      ARMA_L(i,j) = myMatrix[i][j]; 
     } 
    } 
    eig_gen(ARMA_eigenval, ARMA_eigenvec, ARMA_L); 
    return 0; 
} 

で実行をやっている自分自身を慣れたかった、それは(eig_genへの呼び出しのための機能がありませんと言う) が、ドキュメントしかし、私がやっているべきことをやっているようだ。

+0

あなたは 'の#include '持っていますか? – ks1322

+0

しました。 #include を使用し、名前空間armaを使用し、名前空間stdを使用しました。 .....など私はcx_vecとcx_matに変更しました場合でも、私は:(この奇妙なコンパイルエラーtesting5.cppを得た – user355843

答えて

1

eig_gen()機能に間違ったタイプを使用しています。 ARMA_eigenvalARMA_eigenvecはそれぞれcx_veccx_mat次のようになります。

cx_vec ARMA_eigenval; 
cx_mat ARMA_eigenvec; 

documentationの例を参照してください:

mat A = randu<mat>(10,10); 

cx_vec eigval; 
cx_mat eigvec; 

eig_gen(eigval, eigvec, A); 
+0

テキスト$ _ZN4arma6lapack4geevIdEEvPcS2_PiPT_S3_S5_S5_S5_S3_S5_S3_S5_S3_S3 _ [_ ZN4arma6lapack4geevIdEEvPcS2_PiPT_S3_S5_S5_S5_S3_S5_S3_S5_S3_S3 _] + 0x8c):。 'dgeev_」への未定義参照 – user355843

+1

ことがありますリンカーエラー、コンパイルエラーではありません。 'g ++ testing5.cpp -larmadillo'のように、armadilloライブラリにリンクする必要があります。 – ks1322

+0

Dev-C++でどうすればリンクできますか? – user355843

関連する問題