[Date Index]
[Thread Index]
[Author Index]
Re: different eigenvectors
*To*: mathgroup at smc.vnet.net
*Subject*: [mg83910] Re: different eigenvectors
*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
*Date*: Tue, 4 Dec 2007 04:24:53 -0500 (EST)
*Organization*: The Open University, Milton Keynes, UK
*References*: <fj0rjv$per$1@smc.vnet.net>
vicky Al Aisa wrote:
> I am using Eigenvectors function to calculate eigenvectors in
> mathematica 5.2.
> while comparing the results with the eigenvectors (of same matrix)
> computed in another system, i found that both the results are bit different
> with some values having opposite sign and coloumns rearranged.
Note sure what the question, but something tells me that you are unclear
about eigenvectors non-uniqueness.
Second, for a given eigenvalue you can find infinitely many
eigenvectors. Indeed, any non-zero scalar multiple of an eigenvector is
also an eigenvector (for the corresponding eigenvalue of course).
Second, for a given matrix, different CAS may produce the eigenvalues in
different order, so the corresponding eigenvectors may be in different
order from one system to another.
Third, for a given matrix, different CAS may compute the eigenvectors in
different ways. One may look for orthonormal (perpendicular and unitary)
eigenvectors, while another system may satisfy with just orthogonal
(perpendicular) eigenvectors.
So, if you want to check the results from one CAS against the results
from another CAS, first, you must check that the eigenvalues returned by
both systems are the same (whatever their order) and that the
corresponding eigenvectors returned by both system are scalar multiple.
Here is an example with a 2 by 2 reflection matrix that illustrates the
usage of the *Eigensystem* function, which returns the eigenvalues
followed by the eigenvectors.
In[1]:= m = {{0, 1}, {1, 0}}
Out[1]= {{0, 1}, {1, 0}}
In[2]:= Eigensystem@m
Out[2]= {{-1, 1}, {{-1, 1}, {1, 1}}}
In[3]:= Thread@%
Out[3]= {{-1, {-1, 1}}, {1, {1, 1}}}
In[4]:= (m.Last@# == First@#*Last@#) & /@ %
Out[4]= {True, True}
In[5]:= m.{1, -1} == (-1)*{1, -1}
Out[5]= True
In[6]:= m.(c*{1, -1}) == (-1)*(c*{1, -1})
Out[6]= True
In[7]:= {-1, 1}.{1, 1}
Out[7]= 0
In[8]:= Normalize /@ {{-1, 1}, {1, 1}}
Out[8]= {{-(1/Sqrt[2]), 1/Sqrt[2]}, {1/Sqrt[2], 1/Sqrt[2]}}
Regards,
--
Jean-Marc
Prev by Date:
**Notebook programming: SlideShow: emulating bullet at-a-time visibility**
Next by Date:
**Re: plotting vectors**
Previous by thread:
**Re: different eigenvectors**
Next by thread:
**Re: Re: different eigenvectors**
| |