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

using namespace Eigen;

int main()
{
  Matrix4cd A = Matrix4cd::Random();
  MatrixPower<Matrix4cd> Apow(A);

  std::cout << "The matrix A is:\n" << A << "\n\n"
	       "A^3.1 is:\n" << Apow(3.1) << "\n\n"
	       "A^3.3 is:\n" << Apow(3.3) << "\n\n"
	       "A^3.7 is:\n" << Apow(3.7) << "\n\n"
	       "A^3.9 is:\n" << Apow(3.9) << std::endl;
  return 0;
}