scipy/scipy — pull request #2441 by argriffing (2013-05-03 13:11:14+00:00)
Title: expm 2009

This updates the expm code from the 2005 algorithm https://github.com/scipy/scipy/pull/200 to the improved 2009 algorithm http://eprints.ma.man.ac.uk/1442/ , including a test where the current expm has trouble. The code is currently inefficent (slow), as it is waiting on fast estimates of 1-norms of matrix products and powers, from PR https://github.com/scipy/scipy/pull/2436

The ability to deal with sparse matrices is under-tested, although I am doubting the claims in https://github.com/scipy/scipy/pull/287 that expm of a sparse matrix will stay sparse. But I guess that expm preserves properties like diagonality, triangularity, and more generally reducibility, so the sparsity could be useful in these cases. Usually I deal with sparse irreducible matrices which become completely dense under expm.

I think that the sparsity could be more useful in the un-implemented function that would compute only the action of the matrix exponential; this action is implemented in expokit https://github.com/scipy/scipy/pull/354 which is not yet merged, but it is possible that a more recent algorithm http://eprints.ma.man.ac.uk/1591/ could be better.