[SciPy-User] faster expm

Nathaniel Smith njs at pobox.com
Sat Oct 30 12:34:57 EDT 2010


On Sat, Oct 30, 2010 at 7:02 AM, Craig Jones <craig.bulk at brechmos.org> wrote:
> I have been using scipy etc for just over a year now and am now exclusively
> using it.  One application I have been doing requires a matrix exponential
> (in lieu of integration).  In Matlab it was very fast but using
> scipy.linalg.expm it is quite slow (as the actual algorithm is implemented
> in python).  In fact about 50% of the code is spent in expm.  My matrix is
> typically 9x9 to 12x12 and is about 50% zeros (most nonzero are along the
> diagonal and just off diagonal).

If Matlab can do it quickly, then there's no reason Scipy couldn't do
it just as quickly... if someone wants to figure out how.

There was actually a discussion of this a ~year and a half ago:
   http://www.mail-archive.com/sage-devel@googlegroups.com/msg20281.html
It sounds like Matlab uses a better algorithm, that's described in a
paper linked from that message. But I don't think anyone followed up
at the time. Now that you're actually running into problems maybe
someone (maybe you?) will be more motivated :-).

-- Nathaniel



More information about the SciPy-User mailing list