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

**Follow-Ups**:**Re: Re: different eigenvectors***From:*"Jean-Marc Gulliet" <jeanmarc.gulliet@gmail.com>