24 #include "Eigen/Eigen" 36 const Region& region);
38 Eigen::MatrixXf covarianceMatrixSinglePrecision(
const PointArray& v,
39 const Region& region);
47 template <
typename T,
typename Compare>
49 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& vectors,
51 const int n = values.size();
54 for (
int i=0; i<n-1; i++) {
55 for (
int j=n-1; j>i; j--) {
57 if (cmp(std::abs(values[j]), std::abs(values[j-1]))) {
60 std::swap(values[j], values[j-1]);
63 vectors.col(j).swap(vectors.col(j-1));
74 Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>& vectors) {
81 #endif // GAIA_LINALG_H Main Gaia namespace, which contains all the library functions.
Definition: addfield.cpp:22
Eigen::MatrixXd covarianceMatrix(const PointArray &v, const Region ®ion)
Computes the covariance matrix given a set of points.
Definition: linalg.cpp:99
void sortEigenVectors(Eigen::Matrix< T, Eigen::Dynamic, 1 > &values, Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &vectors, Compare cmp)
Sort the eigen vectors and their corresponding values according to the given compare function...
Definition: linalg.h:48