1 #include <unsupported/Eigen/MatrixFunctions>
2 #include <iostream>
3 
4 using namespace Eigen;
5 
expfn(std::complex<double> x,int)6 std::complex<double> expfn(std::complex<double> x, int)
7 {
8   return std::exp(x);
9 }
10 
main()11 int main()
12 {
13   const double pi = std::acos(-1.0);
14 
15   MatrixXd A(3,3);
16   A << 0,    -pi/4, 0,
17        pi/4, 0,     0,
18        0,    0,     0;
19 
20   std::cout << "The matrix A is:\n" << A << "\n\n";
21   std::cout << "The matrix exponential of A is:\n"
22             << A.matrixFunction(expfn) << "\n\n";
23 }
24