[SciPy-User] Faster approach to calculate the matrix exponential
Michael Kreim
michael at perfect-kreim.de
Thu Jun 26 14:46:23 EDT 2014
Am 26.06.2014 10:31, schrieb Troels Emtekær Linnet:
> Do any of you know any faster approach to calculate the matrix exponential ?
Am 26.06.2014 20:04, schrieb Stephan Hoyer:
>
> On Thu, Jun 26, 2014 at 5:32 AM, Charles R Harris
> <charlesr.harris at gmail.com <mailto:charlesr.harris at gmail.com>> wrote:
>
> Are you solving a differential equation? If so, an explicit solution
> may not be the best way to go.
>
>
> I agree.
>
> My experience with solving very similar quantum mechanics problems is
> that using an ODE integrator like zofe (via scipy.integrate.ode) can be
> much faster than solving the propagator exactly..
>
Hi,
I never used Python for my numerical Problems, but I worked with some
PDEs of the d/dt p = Ap type in the recent time (but not from quantum
mechanics).
I agree with Stephan and Charles that it my be worth trying to solve the
ODE using any suitable ODE solver. In Matlab I made the experience that
it is very problem depended if the ode solver or the matrix exponential
method is faster.
Also you can have a look at expokit which is a very good implementation
of matrix exponential solvers (using Krylov subspace methods):
http://www.maths.uq.edu.au/expokit/
Unfortunately there is no Python implementation but maybe you can call
the fortran or C++ version from python.
And you can have a look at operator splitting methods. If it is possible
to split your problem in two (or more) sub problems, then these methods
often speed up the numerical computations. The problem usually lies in
finding a suitable splitting. The implementation is not very
complicated, if you have numerical methods for the sub problems.
Cheers,
Michael
More information about the SciPy-User
mailing list