MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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



  • Prev by Date: Re: Extracting information from lists
  • Next by Date: Making a new definition of Equal work with lists as well
  • Previous by thread: Re: Questions regarding MatrixExp, and its usage
  • Next by thread: Re: Re: Questions regarding MatrixExp, and its usage