[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Status for GSoC project : Improve logm,sqrtm and funm
From: |
Svante Signell |
Subject: |
Re: Status for GSoC project : Improve logm,sqrtm and funm |
Date: |
Wed, 30 Mar 2016 10:38:33 +0200 |
On Tue, 2016-03-29 at 18:33 +0200, Marco Caliari wrote:
> On Tue, 29 Mar 2016, Svante Signell wrote:
>
> > Hi, sorry for chiming in here, but anyway. I see that the expm
> implementation in
> > octave only use Pade approximation to calculate the matrix exponential. I
> have
> > an implementation I made in Fortran 77 in the late 90's. It uses scaling,
> pade
> > approximation and squaring.
>
> Hi,
>
> the current Octave's expm uses Pade' with scaling and squaring, as well.
> The state of the art for the matrix exponential by Pade approximation is
>
> A new scaling and squaring algorithm for the matrix exponential, Al-Mohy,
> A. H. and Higham, N. J., 2009
>
> which is freely available as a m-file
>
> http://eprints.ma.man.ac.uk/1442/
>
> > 1) How much work is it to call that Fortran code from Octave?
> > 2) Do you have some real difficult test examples, including execution times
> and
> > memory requirements?
> > 3) I a .c/.c++ or .m implementation preferred to Fortran?
>
> A m-file is of course easier to maintain. A standard Pade` approximation
> with scaling and squaring involves only one or two short, unnested
> for loops. I can't imagine a Fortran/C++ implementation much faster than a
> m-file. Did you compare your implementation with Octave's expm? expm.m is
> a very short file to read and compare with.
Seems like I was doing the right thing, long before Highams work. And long
before Octave really took off too. However, a rewrite that code into C++ or m-
code seems to be an overkill now when the m code from 2009 is available for
integration into Octave.
Thanks!