MathGroup Archive 2005

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

Search the Archive

Re: Re: Questions regarding MatrixExp, and its usage

  • To: mathgroup at
  • Subject: [mg63374] Re: [mg63355] Re: [mg63335] Questions regarding MatrixExp, and its usage
  • From: Andrzej Kozlowski <akoz at>
  • Date: Tue, 27 Dec 2005 04:42:44 -0500 (EST)
  • References: <> <> <>
  • Sender: owner-wri-mathgroup at

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:



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[6 Pi*I]] == Log[Exp[4 Pi*I]]


and so on.

Andrzej Kozlowski

  • Prev by Date: Re: Extracting information from lists
  • Next by Date: Re: Re: Questions regarding MatrixExp, and its usage
  • Previous by thread: Re: Re: Questions regarding MatrixExp, and its usage
  • Next by thread: Re: Re: Questions regarding MatrixExp, and its usage