1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <unsupported/Eigen/MatrixFunctions> 2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <iostream> 3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathusing namespace Eigen; 5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathint main() 7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{ 8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MatrixXd A = MatrixXd::Random(3,3); 9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << "A = \n" << A << "\n\n"; 10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MatrixXd sinA = A.sin(); 12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << "sin(A) = \n" << sinA << "\n\n"; 13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MatrixXd cosA = A.cos(); 15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << "cos(A) = \n" << cosA << "\n\n"; 16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // The matrix functions satisfy sin^2(A) + cos^2(A) = I, 18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath // like the scalar functions. 19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << "sin^2(A) + cos^2(A) = \n" << sinA*sinA + cosA*cosA << "\n\n"; 20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 21