#include #include #include int main(int argc, char *argv[]) { Eigen::MatrixXd X = Eigen::MatrixXd::Random(3, 3); // PCA = EVD of the covariance matrix Eigen::SelfAdjointEigenSolver < Eigen::MatrixXd > solver(X.selfadjointView()); Eigen::MatrixXd V = solver.eigenvectors(); // eigenvectors (in columns) Eigen::VectorXd D = solver.eigenvalues(); std::cout << "X=\n" << X << std::endl; std::cout << "V=\n" << V << std::endl; std::cout << "D=\n" << D << std::endl; return 0; }