Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2008

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

Search the Archive

Re: orthonormal eigenvectors

  • To: mathgroup at smc.vnet.net
  • Subject: [mg88498] Re: orthonormal eigenvectors
  • From: Szabolcs Horvát <szhorvat at gmail.com>
  • Date: Tue, 6 May 2008 06:45:32 -0400 (EDT)
  • Organization: University of Bergen
  • References: <fvmmko$86b$1@smc.vnet.net>

Bill Rowe wrote:
> On 5/3/08 at 6:18 AM, nairbdm at hotmail.com (. .) wrote:
> 
>> I have a 3X3 matrix M: {1,-i(2^(1/2)),0} {i(2^(1/2)),0,0} {0,0,2}
> 
>> And I am trying to find a set of orthonormal eigenvectors for M.
> 
> You can find a set of eigenvectors by doing:
> 
> In[54]:= m = {{1, -I (2^(1/2)), 0},
>     {I (2^(1/2)), 0, 0},
>     {0, 0, 2}};
> 
> In[55]:= ev = Eigenvectors[m]
> 
> Out[55]= {{0, 0, 1}, {-I Sqrt[2], 1, 0}, {I/Sqrt[2], 1, 0}}
> 
> Then it is easy to normalize these by doing:
> 
> In[56]:= len = (#.#) & /@ ev;
> ev /Sqrt[len]
> 
> Out[57]= {{0, 0, 1}, {-Sqrt[2], -I, 0}, {I, Sqrt[2], 0}}
> 
> But while all of these have unit length, they do not form an
> orthonormal set since
> 
> In[58]:= Dot @@ Rest[%]
> 
> Out[58]= -2 I Sqrt[2]
> 
> which is clearly not zero. That is for your matrix, a set of
> orthonormal eigenvectors doesn't exist.
> 

The matrix is Hermitian, i.e. m == Conjugate@Transpose[m], so a set of 
orthonormal eigenvectors is guaranteed to exist with respect to the dot 
product complexDot = #1 . Conjugate[#2] &.

Even though one eigenvalue of the matrix is degenerate, the set of 
vectors returned by Eigenvectors are orthogonal to each other, but not 
normalized:

In[16]:= ev = Eigenvectors[m]
Out[16]= {{0, 0, 1}, {-I Sqrt[2], 1, 0}, {I/Sqrt[2], 1, 0}}

In[17]:= Outer[complexDot, ev, ev, 1]
Out[17]= {{1, 0, 0}, {0, 3, 0}, {0, 0, 3/2}}

Normalize[] handles complex vectors correctly, so we can simply do the 
following:

In[19]:= ev = Normalize /@ ev
Out[19]= {{0, 0, 1}, {-I Sqrt[2/3], 1/Sqrt[3], 0}, {I/Sqrt[3], 
Sqrt[2/3], 0}}

In[20]:= Outer[complexDot, ev, ev, 1]
Out[20]= {{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}


  • Prev by Date: Re: Hash Table for self avoiding random walks
  • Next by Date: Re: Interpolation with FourierTrigSeries with mathematica 6 tia sal2
  • Previous by thread: Re: orthonormal eigenvectors
  • Next by thread: can't translate 3D model to 0,0,0