使用 c++ 特征库中的特征向量() 只计算一个特征向量
Use eigenvectors() from c++ eigen library to calculate only one eigen vector
特征
库的自伴随特征求解器((方法的计算方法计算所有特征值的特征向量。我想让它只计算一个特定特征值的特征向量,例如最小或最小值的第 5 个。这可能吗?
如果您的矩阵是真实的并且您已经在使用特征,最简单的方法是使用 Spectra,这是一个只需要特征的仅标头库。这是对旧Arpack的重新设计,它使用Arnoldi幂迭代迭代迭代到极值特征值/特征向量对。您可以一次要求"几个"特征对。
如果你的矩阵很复杂,你有两个选择。要么你直接选择Arpack++,它可以处理复杂的矩阵,但使用起来更乏味,要么你可以坚持使用Spectra,将矩阵分成实部和虚部,但这也会带来很大的性能损失。本质上,如果你有一个复杂的N*N
矩阵A=B+iC
和向量x=u+iv
你可以将特征值方程Ax=kx
转换为(B+iC)(u+iv)=k(u+iv)
,这可以写成一个2N*2N
问题。
如果您的矩阵真的很大,您可能需要考虑 Slepc。
相关文章:
- C++ 中的特征向量计算
- 在其特征向量上投影点云
- 特征::向量;在函数中使用 Eigen::Matrix3f 的值初始化向量,大于 4 个条目
- 动态分配特征向量的模因
- 特征向量与法巴德
- 将特征向量序列化为 QDataStream
- 为什么特征向量这么慢?
- C++ 查找矩阵的特征值和特征向量
- 特征向量对数无效使用不完整类型的错误
- 使用 c++ 特征库中的特征向量() 只计算一个特征向量
- 将特征向量复制到 C 数组
- SymEigsShiftSolver of Spectra是否不返回特征向量?
- 包含特征向量的类的奇异大小
- 将特征数组转换为特征向量
- 特征:如何将"greater than"的结果(在ArrayXf上)转换为特征向量
- 计算Armadillo中复杂对称矩阵的有限特征向量的正确函数
- 近似大型对称矩阵的最高3个特征值和特征向量的快速方法
- 按升序对特征向量Xf进行排序
- 特征向量矩阵右除问题
- 动态分配随机特征向量Xd