matrix exponential function

concurrent and serial implementation
And we probably just want to use what the original code did with fact_i *= i