* 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
[parent not found: <20060330134228.GA7195@localhost>]
* 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).