What are some computationally efficient ways to solve matrix exponentials, i.e. functions of the form : $f(X)=e^{X}$, where $X$ is a square matrix?
So far I have been able to diagonalise some matrices and find the exponent of individual diagonal elements, but not all matrices I'm dealing with will be diagonalisable.
I am using Python with SciPy/NumPy, so solutions that can be implemented here will be most useful. If not, general solutions/solutions from other platforms are welcome too.
Notes:
- I need the exponential itself, not a solution using it.
- The matrix $X$ is dense, typically small ($3\times 3$ or $4\times 4$), might not be symmetric or Hermitian.
scipy.linalg.expm
? It should pretty efficient I believe. What is the size of $X$? Is it dense or sparse? Is it symmetric/Hermitian/etc.? $\endgroup$ – Alone Programmer Jan 17 '20 at 15:55