Move eigen to third party (#282)

* remove useless statement

* Add eigen to third_party dir

* remove reducdant lines
This commit is contained in:
Jack Zhou
2022-09-26 19:24:02 +08:00
committed by GitHub
parent 36eb6fbba6
commit 355382ad63
1781 changed files with 420576 additions and 71 deletions

View File

@@ -0,0 +1,29 @@
MatrixXf A = MatrixXf::Random(4, 4);
MatrixXf B = MatrixXf::Random(4, 4);
RealQZ<MatrixXf> qz(4); // preallocate space for 4x4 matrices
qz.compute(A, B); // A = Q S Z, B = Q T Z
// print original matrices and result of decomposition
cout << "A:\n"
<< A << "\n"
<< "B:\n"
<< B << "\n";
cout << "S:\n"
<< qz.matrixS() << "\n"
<< "T:\n"
<< qz.matrixT() << "\n";
cout << "Q:\n"
<< qz.matrixQ() << "\n"
<< "Z:\n"
<< qz.matrixZ() << "\n";
// verify precision
cout
<< "\nErrors:"
<< "\n|A-QSZ|: " << (A - qz.matrixQ() * qz.matrixS() * qz.matrixZ()).norm()
<< ", |B-QTZ|: " << (B - qz.matrixQ() * qz.matrixT() * qz.matrixZ()).norm()
<< "\n|QQ* - I|: "
<< (qz.matrixQ() * qz.matrixQ().adjoint() - MatrixXf::Identity(4, 4)).norm()
<< ", |ZZ* - I|: "
<< (qz.matrixZ() * qz.matrixZ().adjoint() - MatrixXf::Identity(4, 4)).norm()
<< "\n";