E^A , A is a matrix, summary

*To*: mathgroup at yoda.physics.unc.edu*Subject*: E^A , A is a matrix, summary*From*: bappadit at ecn.purdue.edu (Banerjee Bappaditya)*Date*: Wed, 22 Apr 92 15:14:23 EST

Hi! Thanks to the interest of the group I have the following replies to my query: Does anybody have a routine to do e^A where A is atleast a 4 by 4 matrix ? John C Wheeler writes What about the "standard" procedure of writing A = MLM^-1 where L is the diagaonal matrix of the eigenvalues of A and M is the matrix of eigenvecors? Then exp(A) = M exp(L) M^-1, where exp(L) is, of course just the diagonal matrix with elements that are the exponentials of the eigenvalues. This reduces the problem to the "standard" one of finding eigenvalues and eigenvectors. Alwyn Peter Allan says Mathematica 2.0 has MatrixExp[] that does it. There are good and bad algorithms if you choose to code it. See Lukes, Dahlard L. Differential equations : classical to controlled / Dahlard L. Lukes. -- New York : Academic Press, 1982. Jerry B. Keiper came up with both the above solutions too. And Michael Prange has written a little function that applies the above matFun[mat_,fun_] := Module[{eval,evec}, {eval,evec} = Eigensystem[mat]; Transpose[Inverse[evec].DiagonalMatrix[fun[eval]].evec] ] Roger B. Kirchner (rkirchne at mathcs.carleton.edu) has written a package called MatrixReplace.m ( written using only features in MMa 1.0) which just depends upon being able to find the eigenvalues. A couple of examples. Mathematica 2.0 for NeXT Copyright 1988-91 Wolfram Research, Inc. -- NeXT graphics initialized -- In[1]:= << matrixreplace.m In[2]:= A = {{2, 0}, {0, 3}} Out[2]= {{2, 0}, {0, 3}} In[3]:= MatrixReplace[E^(x t), x -> A] 2 t 3 t Out[3]= {{E , 0}, {0, E }} In[4]:= MatrixReplace[x^n, x -> A] n n out[4]= {{2 , 0}, {0, 3 }} Of all these solutions, I found Roger's solution to be most suited for my work. Thanks to you all for your active interest. regards, bappa. Bappaditya Banerjee bappadit at mn.ecn.purdue.edu Ray W. Herrick Laboratories Purdue University West lafayette, IN 47907 (317) 494 2132 (317) 494 2147