xref: /aosp_15_r20/external/eigen/doc/snippets/SelfAdjointEigenSolver_operatorInverseSqrt.cpp (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li MatrixXd X = MatrixXd::Random(4,4);
2*bf2c3715SXin Li MatrixXd A = X * X.transpose();
3*bf2c3715SXin Li cout << "Here is a random positive-definite matrix, A:" << endl << A << endl << endl;
4*bf2c3715SXin Li 
5*bf2c3715SXin Li SelfAdjointEigenSolver<MatrixXd> es(A);
6*bf2c3715SXin Li cout << "The inverse square root of A is: " << endl;
7*bf2c3715SXin Li cout << es.operatorInverseSqrt() << endl;
8*bf2c3715SXin Li cout << "We can also compute it with operatorSqrt() and inverse(). That yields: " << endl;
9*bf2c3715SXin Li cout << es.operatorSqrt().inverse() << endl;
10