xref: /aosp_15_r20/external/eigen/unsupported/doc/examples/MatrixSinh.cpp (revision bf2c37156dfe67e5dfebd6d394bad8b2ab5804d4)
1*bf2c3715SXin Li #include <unsupported/Eigen/MatrixFunctions>
2*bf2c3715SXin Li #include <iostream>
3*bf2c3715SXin Li 
4*bf2c3715SXin Li using namespace Eigen;
5*bf2c3715SXin Li 
main()6*bf2c3715SXin Li int main()
7*bf2c3715SXin Li {
8*bf2c3715SXin Li   MatrixXf A = MatrixXf::Random(3,3);
9*bf2c3715SXin Li   std::cout << "A = \n" << A << "\n\n";
10*bf2c3715SXin Li 
11*bf2c3715SXin Li   MatrixXf sinhA = A.sinh();
12*bf2c3715SXin Li   std::cout << "sinh(A) = \n" << sinhA << "\n\n";
13*bf2c3715SXin Li 
14*bf2c3715SXin Li   MatrixXf coshA = A.cosh();
15*bf2c3715SXin Li   std::cout << "cosh(A) = \n" << coshA << "\n\n";
16*bf2c3715SXin Li 
17*bf2c3715SXin Li   // The matrix functions satisfy cosh^2(A) - sinh^2(A) = I,
18*bf2c3715SXin Li   // like the scalar functions.
19*bf2c3715SXin Li   std::cout << "cosh^2(A) - sinh^2(A) = \n" << coshA*coshA - sinhA*sinhA << "\n\n";
20*bf2c3715SXin Li }
21