2

Is there a way to calculate the matrix exponential of a matrix in MKL? I have looked at the reference manual but I was only able to find v?Exp() which is for finding the exponential of vector elements.

(I am basically looking for the MATLAB expm() equivalent)

1
  • 1
    An intelligent calculation of a matrix exponent is not a purely numerical problem. You probably should consider first whether your matrix can be presented in a diagonal form, if not whether its eigen values are all real, whether you can calculate complex eigen values, whether it is nilpotent, etc. If you know nothing about the properties of your matrix, you can fall back to the calculation of the power series, but I'm afraid this direct method will take a lot calculation power. Commented May 28, 2013 at 21:14

1 Answer 1

5

Can be done using 'Scaling and Squaring' method.

Implemented the solution as a function here.

Sign up to request clarification or add additional context in comments.

3 Comments

I am looking to write a similar program in python that will work on any size matrix. Before I do so, I was wondering what kind of performance gains you got with your's and if you had any advice for abstracting it.
We had implemented the processing algorithm in VNL and MATLAB and we saw a 4.56x speedup from VNL and approximately 2-3x speedup compared to MATLAB. I am not quite sure what you mean by abstracting but I posted the part of the paper describing the method of matrix exponential here: github.com/poliu2s/MKL/blob/master/…
That's great to hear! By abstracting it I meant make it not hardcoded for running on 4x4 matrices and instead work on any sized matrix that is inputed.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.