c++ - 如何使用 Armadillo 计算特征对?

标签 c++ compiler-errors armadillo eigenvalue

我刚拿到 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() 的函数 但是文档似乎我正在做我应该做的事情。

最佳答案

您为 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);

关于c++ - 如何使用 Armadillo 计算特征对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45015593/

相关文章:

c++ - MFC 中的矩形

scala - 使用getOrElse连接两个映射时,类型不匹配编译器错误

c++ - 按索引 vector 对 Armadillo 矩阵的所有列进行排序的最佳方法

r - 使用 List 将 R 矩阵转换为 arma::mat

c++ - 如何将 std::vector 名称视为 C 类型数组名称?

c++ - 带有实现的纯虚函数

c++ - 发布项目 - 当我在 Eclipse 中完成 C++ 项目后该怎么办?

c# - 执行任务XamlCTask- Xamarin时出错

c++ - .h 文件上非常简单的函数 C++ 的链接错误

r - 在 Windows 上编写 R 包构建二进制文件