public inbox for gsl-discuss@sourceware.org
 help / color / mirror / Atom feed
* Re: gsl_linalg_exponential_ss()
       [not found] <20060327121954.GA28592@localhost>
@ 2006-03-29 21:08 ` Gerard Jungman
       [not found]   ` <20060330134228.GA7195@localhost>
  0 siblings, 1 reply; 2+ messages in thread
From: Gerard Jungman @ 2006-03-29 21:08 UTC (permalink / raw)
  To: Tino Kluge; +Cc: gsl-discuss

On Mon, 2006-03-27 at 13:19 +0100, Tino Kluge wrote:
> Hi
> 
> First, many thanks for implementing matrix exponentiation into gsl!
> I was just wondering whether there's a way to speed up computation
> when faced with matrix exponentials of the form
> 
>  exp(t A)
> 
> for many different real values t and one constant matrix A?
> 
> Cheers
> Tino

If the ratios of the values (t_0, t_1, ...) are
integers, then you can get them all by taking
matrix powers. An obvious example is the case that
the values (t_0, t_1, ...) are regularly spaced,
like t_n = n dt. But otherwise I don't know any
tricks. Maybe I'm missing something clever though.

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: gsl_linalg_exponential_ss()
       [not found]   ` <20060330134228.GA7195@localhost>
@ 2006-03-30 22:22     ` Gerard Jungman
  0 siblings, 0 replies; 2+ messages in thread
From: Gerard Jungman @ 2006-03-30 22:22 UTC (permalink / raw)
  To: Tino Kluge; +Cc: gsl-discuss

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2006-03-30 22:22 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20060327121954.GA28592@localhost>
2006-03-29 21:08 ` gsl_linalg_exponential_ss() Gerard Jungman
     [not found]   ` <20060330134228.GA7195@localhost>
2006-03-30 22:22     ` gsl_linalg_exponential_ss() Gerard Jungman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).