我如何使用Armadillo计算特征对?

时间:2017-07-10 15:07:52

标签: c++ compiler-errors armadillo eigenvalue

我刚刚得到犰狳,想要熟悉自己,所以我正在用它进行“测试”运行

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()的函数 但是文档看起来好像我正在做我应该做的事情。

1 个答案:

答案 0 :(得分: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);