// SPDX-FileCopyrightText: The Eigen Authors
// SPDX-License-Identifier: MPL-2.0

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";
