Benchmarking a simple PDE algorithm in Julia, Python, Matlab, C++, and Fortran

To do exponential integrators well we really need to up our game with expmv methods. The following two libraries exist:

https://github.com/marcusps/ExpmV.jl

https://github.com/acroy/Expokit.jl

The first actually uses a dense normest2 so it’s not the true Higham algorithm yet and that slows it down. The latter uses a Krylov-based method, but doesn’t have all of the phi function calculations yet which are necessary for the high order methods like ETDRK4.

Though with L coming from a spectral discretization it’s probably small and dense so it might not need these tools as much? But the lack of such tools (i.e. implement a way to choose between dense and these different expmvs) is what is slowing down the generic DiffEq implementation of exponential integrators.