Re: Re: Questions regarding MatrixExp, and its usage
- To: mathgroup at smc.vnet.net
- Subject: [mg63374] Re: [mg63355] Re: [mg63335] Questions regarding MatrixExp, and its usage
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Tue, 27 Dec 2005 04:42:44 -0500 (EST)
- References: <200512250719.CAA01655@smc.vnet.net> <94B75903-6BC7-4E34-83F3-706B65D8A122@mimuw.edu.pl> <43B0286B.5050005@umbc.edu>
- Sender: owner-wri-mathgroup at wolfram.com
On 27 Dec 2005, at 02:29, Pratik Desai wrote: > Andrzej Kozlowski wrote: > >> >> On 25 Dec 2005, at 16:19, Michael Chang wrote: >> >>>>>>> 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 ...? >>>>>> >> >> >> This can't possibly be true for arbitrary square complex matrices >> since it is not even true for matrices of dimension 1, that is >> complex numbers. >> In other words, it is not true that Exp[a p]== Exp[a]^p, were a >> and p are arbitrary complex numbers. In fact, Mathematica alone >> can find for you an example where this is not true. To see that >> let's define a function f of two variables: >> >> >> f[a_, b_] := Exp[a*b] - Exp[a]^b >> >> >> If the identity you held for all complex numbers f would have to >> be identically zero. However, we can get Mathematica to find an >> example when it is not: >> >> >> FindInstance[f[a, b] != 0, {a, b}] >> >> >> {{a -> -(47/10) + (181*I)/10, >> b -> 91/10 + (122*I)/5}} > > Why not try the opposite, find instance where the equation holds > > In[278]:= > Clear[f,a,b] > f[a_,b_]:=Exp[a*b]-Exp[a]^b > sol1=First[FindInstance[f[a,b]==0,{a,b}]]; > {c,d}/.sol1; > (*Just on a hunch I tried to look at the phase of the complex > numbers a and b*) > Arg[c]//N > Arg[d]//N > > Out[282]= > 2.92216 > > Out[283]= > 2.97644 > > Does this have any significance? ... > > > But why is this true (maybe I am missing something quite simple > here)? > In[126]:= > Exp[-I*Pi/2]===Exp[Pi*I]^(-1/2) > > Out[126]= > True > Well, ..., everybody knows (or should know) this holds for all reals: Simplify[Exp[a*b]-Exp[a]^b,Element[{a,b},Reals]] 0 So would expect it to hold in some part of the complex plane, wouldn't you? In fact, you should expect it to hold in most of the complex plane, but not all. So it is not at all surprising that you can find complex instances where the equation does hold and that it is a bit harder to find instances wehre it does not hold. In fact, one can analyse this more carefully just by looking at the documentation for Power in Mathematica and noting that for two complex numbers x, y, y^x is defined as the the principal value of Exp[y Log[b]] . So Exp[a]^b is the same as the principal value of Exp[b Log[Exp[a]]]. So this will fail to be equal to Exp[b a] precisely when Log[Exp[a]] is not equal to a. Now you should know that in general this is not going to hold in all of complex plane (but will hold in most). Take up any book on complex analysis and look for the definition of Log. In particular you will understand that: Log[Exp[I*Pi]] == Log[Exp[(-I)*Pi]] True or Log[Exp[6 Pi*I]] == Log[Exp[4 Pi*I]] True and so on. Andrzej Kozlowski
- References:
- Re: Questions regarding MatrixExp, and its usage
- From: "Michael Chang" <michael_chang86@hotmail.com>
- Re: Questions regarding MatrixExp, and its usage