1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <iostream>
2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <Eigen/Dense>
3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathusing namespace std;
5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathusing namespace Eigen;
6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathint main()
8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{
9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   Matrix2f A;
10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   A << 1, 2, 2, 3;
11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   cout << "Here is the matrix A:\n" << A << endl;
12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   SelfAdjointEigenSolver<Matrix2f> eigensolver(A);
13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   if (eigensolver.info() != Success) abort();
14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   cout << "The eigenvalues of A are:\n" << eigensolver.eigenvalues() << endl;
15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath   cout << "Here's a matrix whose columns are eigenvectors of A \n"
16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath        << "corresponding to these eigenvalues:\n"
17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath        << eigensolver.eigenvectors() << endl;
18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath}
19