From: "William R. Frensley" Subject: Re: Matrix exponential Date: Thu, 21 Jan 1999 20:07:11 -0600 Newsgroups: sci.math.num-analysis To: skelton@NOSPAM.oak.u-net.com Keywords: Efficient computation of exponentials of a matrix Skelton wrote: > > What are efficient ways to calculate a matrix exponential for a real > valued > matrix? > > I know two methods: > > the power series method: exp(A)=I+A+A^2/2+.... > > the method based on eigen value decomposition: A=U*E*U', > exp(A)=U*[exp(E)]*U' > > Any ideas? > You can also do the product expansion: exp(A) \approx (1 + A/n)^n. If you make n a power of 2, you can do this in log_2 (n) multiplications. You can estimate the n required if you have an estimate for the largest eigenvalue. (Just apply the scalar formula.) - Bill Frensley University of Texas at Dallas ============================================================================== From: shepard@tcg.anl.gov (Ron Shepard) Subject: Re: Matrix exponential Date: Thu, 21 Jan 1999 19:40:07 -0600 Newsgroups: sci.math.num-analysis In article <36A7B247.F5E02691@oak.u-net.com>, skelton@NOSPAM.oak.u-net.com wrote: [quoted as above -- djr] Recursive squaring can also be used in some cases to speed convergence or to improve accuracy or stability. In the special case of a real skew-symmetric matrix, the result can be computed with real arithmetic using factorization methods. There may be some other special cases like this, but it would depend on some special structure in your matrix "A". To get some general background on this interesting problem, look for the classic article "19 dubious ways to compute the matrix exponential". $.02 -Ron Shepard ============================================================================== From: "Alan Miller" Subject: Re: Matrix exponential Date: Fri, 22 Jan 1999 17:31:48 +1100 Newsgroups: sci.math.num-analysis This is not a trivial task. Someone has already mentioned the classic paper on 19 dubious ways to calculate matrix exponentials. The code in the NSWC Math. Library is pretty safe. A Fortran 90 version is available from my web site. I believe I saw that there is a paper on a new algorithm in a recent issue of TOMS - or perhaps it was announced as to appear. Check out the contents of the ACM Trans. on Math. Software - I think at http://math.nist.gov -- Alan Miller, Retired Scientist (Statistician) CSIRO Mathematical & Information Sciences Alan.Miller -at- vic.cmis.csiro.au http://www.ozemail.com.au/~milleraj Skelton wrote in message <36A7B247.F5E02691@oak.u-net.com>... >What are efficient ways to calculate a matrix exponential for a real >valued >matrix? > >I know two methods: > >the power series method: exp(A)=I+A+A^2/2+.... > >the method based on eigen value decomposition: A=U*E*U', >exp(A)=U*[exp(E)]*U' > >The former is simple but not satisfying to use (what is the most general >way to decide when to stop? etc) >The second is satisfying but difficult to apply to non symmetric >matrices that generate complex eigen values ( >or rather I have yet to see a simple algorithm - all the books I have >seem to skip the issue of non symmetric >matrices!) > >Are there any more efficient methods that do not require me using >complex numbers? It seems unnecessary to >start with a real matrix move to the complex domain then back again? > >Any ideas? > >Regards Jim Skelton ============================================================================== From: "Alan Miller" Subject: Re: Matrix exponential Date: Fri, 22 Jan 1999 17:49:17 +1100 Newsgroups: sci.math.num-analysis See; Sidje, Roger B. `EXPOKIT: Software package for computing matrix exponentials', ACM Trans. on Math. Software, Vol.21 (1), pp.130-156, March 1998. -- Alan Miller, Retired Scientist (Statistician) CSIRO Mathematical & Information Sciences Alan.Miller -at- vic.cmis.csiro.au http://www.ozemail.com.au/~milleraj ============================================================================== From: Vadim Tarassov Subject: Re: Matrix exponential Date: Fri, 22 Jan 1999 11:17:33 +0100 Newsgroups: sci.math.num-analysis Hello, As it has been mentioned above, calculation of a matrix exp. is not trivial problem. Look in a book of Golub and Van Loan Matrix Computations, The John Hopkins University Press, (1983). According to my own experience Pade approximation of the matrix exp. (as it has been done in that book) seems to be very nice method. This algorithm was implemented in MATLAB 4.2 without any changes. I would not propose Teylor staff, I had very bad experience with it. Salute. ============================================================================== From: Gerry Thomas Subject: Re: Matrix exponential Date: Fri, 22 Jan 1999 07:58:29 -0500 Newsgroups: sci.math.num-analysis Skelton wrote: [quoted above -- djr] Pay attention to Moler's and Van Loan's discussion on the use of ODE solver approaches. It is often the case (condition estimates excepted) that the full matrix exponential isn't really required, as with matrix inverses, but rather its action on some initial vector and there are many schemes and codes available to do this without much trouble. -- Gerry T.