Boost logo

Ublas :

Subject: Re: [ublas] matrix exponential
From: sguazt (marco.guazzone_at_[hidden])
Date: 2010-10-21 03:31:48


On Thu, Oct 21, 2010 at 8:52 AM, David Bellot <david.bellot_at_[hidden]> wrote:
> Hi Thomas,
>
> do you have the references to these 2 papers you're mentioning ?
>

I think one of the papers Thomas cited is:

Cleve Moler and Charles Van Loan.
"Nineteen Dubious Ways to Compute the Exponential of a Matrix,
Twenty-Five Years Later",
SIAM REVIEW 45:3--49, 2003
[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.129.9283&rep=rep1&type=pdf]

Actually, MATLAB uses Padé approximation + scaling&squaring method
(http://www.mathworks.com/help/techdoc/ref/expm.html)

Also OCTAVE seems to use the same algorithm:
http://hg.savannah.gnu.org/hgweb/octave/file/304b0ed4ca56/scripts/linear-algebra/expm.m

Finally, the same method seems to used by the R project too:
https://r-forge.r-project.org/scm/viewvc.php/pkg/Matrix/src/dgeMatrix.c?view=markup&root=matrix

-- Marco

> David
>
> On Wed, Oct 20, 2010 at 20:29, Thomas Klimpel <Thomas.Klimpel_at_[hidden]>
> wrote:
>>
>> Kraus Philipp wrote:
>> > I would like to create a matrix exponential
>> > (http://en.wikipedia.org/wiki/Matrix_exponential
>> > ) with a boost matrix. Is there any functionality within the boost or
>> > the numerical bindings on LAPACK?
>>
>> You could use LAPACK to compute the Schur decomposition, and compute the
>> exponential with the help of the Schur decomposition.
>> Or you could use LAPACK to compute the eigen-decomposition, and compute
>> the exponential with the help of the eigen-decomposition.
>>
>> The approach with the eigen-decomposition is easier to implement, but the
>> approach with the Schur decomposition is numerically more robust for general
>> matrices. But let's be honest, most of us will start with the
>> eigen-decomposition, and the result is normally good enough so that the
>> approach with the Schur decomposition never actually gets implemented.
>>
>> The two famous papers on this subject propose many more methods and
>> explain their tradeoffs.
>>
>> Regards,
>> Thomas
>> _______________________________________________
>> ublas mailing list
>> ublas_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/ublas
>> Sent to: david.bellot_at_[hidden]
>
>
>
> --
> David Bellot, PhD
> david.bellot_at_[hidden]
> http://david.bellot.free.fr
>
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
> Sent to: marco.guazzone_at_[hidden]
>