#include <unsupported/Eigen/MatrixFunctions>

using namespace Eigen;

int main()
{
  MatrixXf A = MatrixXf::Random(3,3);
  std::cout << "A = \n" << A << "\n\n";

  MatrixXf sinhA;
  ei_matrix_sinh(A, &sinhA);
  std::cout << "sinh(A) = \n" << sinhA << "\n\n";

  MatrixXf coshA;
  ei_matrix_cosh(A, &coshA);
  std::cout << "cosh(A) = \n" << coshA << "\n\n";
  
  // The matrix functions satisfy cosh^2(A) - sinh^2(A) = I, 
  // like the scalar functions.
  std::cout << "cosh^2(A) - sinh^2(A) = \n" << coshA*coshA - sinhA*sinhA << "\n\n";
}
