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 MatrixXd sqrtA = es.operatorSqrt(); 7*bf2c3715SXin Li cout << "The square root of A is: " << endl << sqrtA << endl; 8*bf2c3715SXin Li cout << "If we square this, we get: " << endl << sqrtA*sqrtA << endl; 9