Re: Questions regarding MatrixExp, and its usage
- To: mathgroup at smc.vnet.net
- Subject: [mg63355] Re: [mg63335] Questions regarding MatrixExp, and its usage
- From: "Michael Chang" <michael_chang86 at hotmail.com>
- Date: Sun, 25 Dec 2005 02:19:33 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
Hi Pratik, >From: Pratik Desai <pdesai1 at umbc.edu> To: mathgroup at smc.vnet.net >To: Michael Chang <michael_chang86 at hotmail.com>, >"mathgroup at smc.vnet.net" <mathgroup at smc.vnet.net> >Subject: [mg63355] Re: [mg63335] Questions regarding MatrixExp, and its usage >Date: Sat, 24 Dec 2005 11:49:02 -0500 > >Michael Chang wrote: > >>Hi Pratik, >> >>Many thanks for your response and help! >> >>My only concern is about the usage of MatrixPower -- all of the >>Mathematica online documentation and examples using this function seem to >>indicate that it is only valid for an *integer* power p. >> >>Since MatrixExp[aMatrix,p] exists (and is unique) for all square "aMatrix" >>values and any *complex* value of "p", I guess that I began wondering >>under what conditions this might be equal to >> >> MatrixPower[MatrixExp[aMatrix],p] >> >>? Perhaps mathematically this only holds for *integer* values of p? I >>don't know ... >> >>Anyways, many thanks again, and Happy Holidays! >> >>Regards, >> >>Michael >> >>>From: Pratik Desai <pdesai1 at umbc.edu> To: mathgroup at smc.vnet.net >>>To: "michael_chang86 at hotmail.com" <michael_chang86 at hotmail.com> >>>Subject: [mg63355] Re: [mg63335] Questions regarding MatrixExp, and its usage >>>Date: Sat, 24 Dec 2005 09:30:52 -0500 >>> >>>michael_chang86 at hotmail.com wrote: >>> >>>>Hi, >>>> >>>>For any arbitrary (possibly complex-valued) square matrix A, >>>>Mathematica enables the computation of the matrix exponential of A via >>>> >>>>In[1]: A={{ some square matrix}}; >>>>In[2]: expA=MatrixExp[A]; >>>> >>>>I was therefore wondering if >>>> >>>>MatrixExp[A p]==(MatrixExp[A]^p) >>>> >>>>where 'p' is an arbitrary complex number, and the '^' operator is my >>>>attempt to denote the matrix power, and *not* an element-by-element >>>>power for each individual matrix entry. Or does such an expression >>>>only hold for real-valued square A matrices? Or am I completely lost >>>>here ...? >>>> >>>>As usual, any and all help would be greatly appreciated! >>>> >>>>Regards, >>>> >>>>Michael >>>> >>>> >>>> >>>How about MatrixPower >>>matx[A_?MatrixQ, p_]=MatrixPower[MatrixExp[A], p] >>> >>> >>>Hope this helps >>> >>>Pratik >>> >>> >>> >>> >> >> >You will never know unless you try :-) >In[10]:= >p=Random[]+Pi*I >MatrixPower[MatrixExp[IdentityMatrix[3]],p]//Chop//InputForm > >Out[10]= >0.982433\[InvisibleSpace]+3.14159 \[ImaginaryI] > >Out[11]//InputForm= >{{-2.670947256395083, 0, 0}, {0, -2.670947256395083, 0}, {0, 0, >-2.670947256395083}} > >In[33]:= >MatrixExp[IdentityMatrix[3],p]//Chop//InputForm > >Out[33]//InputForm= >{{-2.6709472563950825, 0, 0}, {0, -2.6709472563950825, 0}, {0, 0, >-2.6709472563950825}} > >I think in my experience with mathematica if there are some limitation with >a particular function, the documentation always seems to highlight it >somewhere, and I did not see any explicit disclaimers regarding the >limitation for MatrixPower only working with integers. To be perfectly >honest, I don't know why In[33] works perhaps someone else on the forum can >help > > > >Pratik > >Happy Holidays to you! > >PS: I hope you don't mind my posting your reply on the forum > >-- >Pratik Desai Many thanks for your help again! :) Here's an example that has me concerned: In[1]: params={theta->Pi^Pi,p->Sqrt[2]}; In[2]: aa=theta {{Cot[theta],Csc[theta]},{-Csc[theta],-Cot[theta]}}; In[3]: test1=Simplify[MatrixExp[aa p]/.params]; In[4]: test2=Simplify[MatrixPower[MatrixExp[aa],p]/.params]; In[5]: N[test1-test2] Out[5]: {{-0.230217 + 0. \[ImaginaryI], -2.06142 + 0. \[ImaginaryI]}, { 2.06142\[InvisibleSpace] + 0. \[ImaginaryI], 1.12075\[InvisibleSpace] + \ 0. \[ImaginaryI]}} So ... assuming that all intermediate calculations are done properly, and that I haven't done anything 'improper', it appears that, in general: MatrixExp[aMatrix p] != MatrixPower[MatrixExp[aMatrix],p] for 'p' an arbitrary real number; it only seems to hold for p an integer ... Does this seem reasonable? I'm somewhat mathematically 'challenged', although perhaps this is 'intuitive' to others ... Happy holidays, and joyeuses fêtes! Regards, Michael
- Follow-Ups:
- Re: Re: Questions regarding MatrixExp, and its usage
- From: Andrzej Kozlowski <akoz@mimuw.edu.pl>
- Re: Re: Questions regarding MatrixExp, and its usage
- From: Pratik Desai <pdesai1@umbc.edu>
- Re: Re: Questions regarding MatrixExp, and its usage