代码示例
torch::Tensor mat = torch::rand({ 2, 2, 4, 4}, torch::kComplexDouble); //2*2个4*4矩阵
std::tuple<torch::Tensor, torch::Tensor> eig_tuple = torch::linalg::eig(mat);
torch::Tensor eigenvalues = std::get<0>(eig_tuple); // 特征值
torch::Tensor eigenvectors = std::get<1>(eig_tuple); // 特征向量
torch::linalg::eig
返回的是一个元组,其中第一个元素是包含本征值的Tensor,第二个元素是包含本征向量的Tensor。