#include <unsupported/Eigen/MatrixFunctions>
#include <iostream>

using namespace Eigen;

int main()
{
  const double pi = std::acos(-1.0);
  Matrix3d A;
  A << cos(1), -sin(1), 0,
       sin(1),  cos(1), 0,
	   0 ,      0 , 1;
  std::cout << "The matrix A is:\n" << A << "\n\n"
	       "The matrix power A^(pi/4) is:\n" << A.pow(pi/4) << std::endl;
  return 0;
}