Re: Re: Questions regarding MatrixExp, and its usage
- To: mathgroup at smc.vnet.net
- Subject: [mg63362] Re: [mg63355] Re: [mg63335] Questions regarding MatrixExp, and its usage
- From: Pratik Desai <pdesai1 at umbc.edu>
- Date: Mon, 26 Dec 2005 04:59:24 -0500 (EST)
- References: <200512250719.CAA01655@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Michael Chang wrote: >Hi Pratik, > > > >>From: Pratik Desai <pdesai1 at umbc.edu> To: mathgroup at smc.vnet.net > >>To: Michael Chang <michael_chang86 at hotmail.com>, >>Subject: [mg63362] [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: [mg63362] [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 > > > > I think mathematically n in MatrixPower has to be an integer, refer to http://mathworld.wolfram.com/MatrixPower.html Hope this helps Pratik
- References:
- Re: Questions regarding MatrixExp, and its usage
- From: "Michael Chang" <michael_chang86@hotmail.com>
- Re: Questions regarding MatrixExp, and its usage