// SPDX-FileCopyrightText: The Eigen Authors
// SPDX-License-Identifier: MPL-2.0

#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;
}
