fbr*_*eto 4 c++ sorting eigenvalue eigenvector associated-sorting
我有一个未排序的特征值向量和一个相关的特征向量矩阵.我想根据排序的特征值集对矩阵的列进行排序.(例如,如果特征值[3]移动到特征值[2],我希望特征向量矩阵的第3列移到第2列.)
我知道我可以对O(N log N)
via中的特征值进行排序std::sort
.如果不滚动我自己的排序算法,我如何确保矩阵的列(相关的特征向量)跟随它们的特征值,因为后者是排序的?
通常只需创建这样的结构:
struct eigen {
int value;
double *vector;
bool operator<(eigen const &other) const {
return value < other.value;
}
};
Run Code Online (Sandbox Code Playgroud)
或者,只是把特征值/特征向量成std::pair
-尽管我更喜欢eigen.value
和eigen.vector
比something.first
及something.second
.