What implementation is used for `matrix_exp`?

The documentation here explains what the matrix exponential is, but not how it’s implemented. I know this is a massive area of research, so I’d like to know which particular implementation is used.

Thank you

I think you can find the implementation here.

For reference, we use the algorithm suggested in the paper Mathematics | Free Full-Text | Computing the Matrix Exponential with an Optimized Taylor Polynomial Approximation

1 Like

Thank you! Do I understand correctly that the bottleneck in this approximation is essentially a constant number of matrix multiplications?

Depends. Does your computation happen on CPU or CUDA? In the former, the algorithm can be understood as a number of mms. In the latter, you have to think about things like synchronisations and so on. The current implementation could do a better job when it comes to these really.