This is the mail archive of the gsl-discuss@sourceware.org mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: gsl_linalg_exponential_ss()


On Thu, 2006-03-30 at 14:42 +0100, Tino Kluge wrote:
> Thanks for your answer. My understanding of matrix exponentiation is
> only limited but I was thinking of algorithms which (block)
> diagonalise the matrix first, exponentiate the diagonal and then
> transfer back. In that setting a speeding up could be achieved by
> storing the diagonal and the basis transformation.

If you have a matrix that can be factored or blocked in
some useful way, then that can help. But we left it up to
end users to figure that out for themselves and exponentiate
accordingly. The GSL function handles any type of matrix.

> After a quick look into your code it seems that the algorithm does
> something more sophisticated.

Yes, general matrix exponentiation is not an easy problem. The
paper quoted in the code, Moler + Van Loan, SIAM Rev. 20, 801 (1978),
is a good place to look if you are interested in this problem. There
are a bunch of other papers out there, including a famous review paper
(something like "Nineteen Ways to Calculate the Matrix Exponential"),
for which I don't have a reference handy.

-- 
Gerard Jungman <jungman@lanl.gov>
Los Alamos National Laboratory


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]