Go to the documentation of this file.00001 #include <Eigen/Core>
00002 #include <Eigen/LU>
00003 #include <Eigen/QR>
00004 #include <Eigen/Cholesky>
00005 #include <Eigen/Geometry>
00006 #include <Eigen/Jacobi>
00007 #include <Eigen/Eigenvalues>
00008 #include <iostream>
00009
00010 using namespace Eigen;
00011 using namespace std;
00012
00013 int main(int, char**)
00014 {
00015 cout.precision(3);
00016 MatrixXd A = MatrixXd::Random(6,6);
00017 cout << "Here is a random 6x6 matrix, A:" << endl << A << endl << endl;
00018
00019 RealSchur<MatrixXd> schur(A);
00020 cout << "The orthogonal matrix U is:" << endl << schur.matrixU() << endl;
00021 cout << "The quasi-triangular matrix T is:" << endl << schur.matrixT() << endl << endl;
00022
00023 MatrixXd U = schur.matrixU();
00024 MatrixXd T = schur.matrixT();
00025 cout << "U * T * U^T = " << endl << U * T * U.transpose() << endl;
00026
00027 return 0;
00028 }