Re: Complex Matrices

*To*: mathgroup at smc.vnet.net*Subject*: [mg2436] Re: Complex Matrices*From*: ianc (Ian Collier)*Date*: Wed, 8 Nov 1995 23:42:56 -0500*Organization*: Wolfram Research, Inc.

In article <47hh8n$dcl at ralph.vnet.net>, David A Boyd <dab8g at kelvin.seas.virginia.edu> wrote: > Here is my problem: I have a matrix, M , with complex elements, and I want > to find M*.M. If I try Conjugate[ M ].M. or Conjugate[ M[[1,1]] ] M[[1,1]], > Mathematica will not expand the answer.That is to say instead of having > all of the I's replaced with -I's, I just get back Conjugate[ M ].M. even > if I try Expand[]. Which is not a lot of help. > > > david The problem is, probably, that Mathematica does not know if teh other symbols in your matrix are real or complex. ComplexExpand forces Mathematica to treat all variables as real. In[1]:= m = {{a + I b, c + I d},{e + I f, g + I h}} Out[1]= {{a + I b, c + I d}, {e + I f, g + I h}} In[2]:= Conjugate[ m ] Out[2]= {{Conjugate[a + I b], Conjugate[c + I d]}, {Conjugate[e + I f], Conjugate[g + I h]}} In[3]:= ComplexExpand[ %] Out[3]= {{a - I b, c - I d}, {e - I f, g - I h}} In[4]:= ?ComplexExpand ComplexExpand[expr] expands expr assuming that all variables are real. ComplexExpand[expr, {x1, x2, ...}] expands expr assuming that variables matching any of the xi are complex. I hope this helps. --Ian