犰狳整数特征分解

Armadillo integer eigen decomposition

我正在尝试使用 Armadillo 将由整数(即 arma::Mat<int>)组成的矩阵分解为特征值和特征向量
但是,无论我将什么作为输入矩阵和输出 vector/matrix 类型
,它总是给我编译错误 当我将输入矩阵声明为 arma::Mat<double>,将输出向量(特征值)声明为 arma::Col<std::complex<double>> 并将输出矩阵(特征向量)声明为 arma::Mat<std::complex<double>>
时,它会起作用 我尝试使用 int and/or std::complex<int> 作为输入和输出的类型,但它们都不起作用。
有没有一种方法可以分解整数值的矩阵?
谢谢

首先使用conv_to函数将整数矩阵转换为双精度矩阵。例如,imat A = ...; mat B = conv_to<mat>::from(A);。然后你可以对转换后的矩阵进行特征分解。