[Scipy-tickets] [SciPy] #1897: expmFrechet would be nice
SciPy Trac
scipy-tickets@scipy....
Sun Apr 21 23:19:11 CDT 2013
#1897: expmFrechet would be nice
------------------------------------------+---------------------------------
Reporter: unknown (google) | Owner: pv
Type: enhancement | Status: new
Priority: low | Milestone: Unscheduled
Component: scipy.linalg | Version: 0.12.0
Keywords: linalg matfuncs expm frechet |
------------------------------------------+---------------------------------
I have an application where I need to compute the matrix exponential
expm(A) and also the upper right block of expm([[A, E], [0, A]]).
Luckily, there's a detailed explanation of a fast algorithm to do this.
http://eprints.ma.man.ac.uk/1218/
It is even available in R as expmFrechet.
http://cran.r-project.org/web/packages/expm/expm.pdf
Perhaps if I would try to independently and manually transcribe Higham's
published algorithm into python code and paste it into this ticket, then
it would make its way into scipy.linalg? I would not need a sparse matrix
implementation, and I would only need double float precision. I would
probably not be up to the task of making a complete pull request on
github.
Maybe it could become available, using a function signature like in the R
docs, as scipy.linalg.expm_frechet(A, E, method="SPS", compute_expm=True)
where A and E are NxN double precision numpy ndarrays, and it would return
either the two NxN output matrices (expm_frechet_AE, expm_A) or just the
single NxN output matrix expm_frechet_AE depending on the value of the
compute_expm arg. The method arg would be either "SPS" for the clever
algorithm or "blockEnlarge" for the dumb algorithm. Testing would be very
simple because expm is already implemented.
--
Ticket URL: <http://projects.scipy.org/scipy/ticket/1897>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.
More information about the Scipy-tickets
mailing list