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}}