DMUG-Archiv 2009

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

Re: (Numerisches?) Problem beim Bestimmen der Eigenvektoren

Hallo Andreas,

Noch kurz zu meiner Version: Meine ist die vom 10. November 2008. Falls jemand genau die hat, würde mich brennend interessieren, ob derjenige den gleichen Fehler sieht und Mathematica den einen Eigenvektor gar nicht berechnen kann. ;-)

Ja schlecht, hier läuft auf Windows XP 32 Bit die Version 7.0.1.0

In[21]:= $Version
Out[21]= "7.0 for Microsoft Windows (32-bit) (February 18, 2009)"

mit demselben Fehler (in Ihren Bezeichnungen):

In[89]:= Eigenvectors[M][[3]]
Out[89]= {0., 0., 0., 1.}

by the way, die spiegelverkehrte Matrix ist Reverse[#]& /@ Reverse[M]

In[139]:= Eigenvectors[Reverse[#]& /@ Reverse[M]][[3]]
Out[139]= {-1.4179*10^-15, 6.58226*10^-14, -0.707107, 0.707107}

das geht auch mit dieser Version; folgendes scheint zu funktionieren

In[86]:= erM = Eigensystem[Rationalize[M]] // N
Out[86]= {{2096.81, 2027.21, 1923.69, 1915.63},
	{{-0.05709, -0.05709, -0.059551, 1.},
	{5.87718, 5.87718, 5.52372, 1.},
	{-1., 1., 0., 0.},
	{-80.583, -80.583, 171.298, 1.}}}

Probe:
In[87]:= Inverse[Transpose[erM[[2]]]] . Rationalize[M] .
  Transpose[erM[[2]]] // N

Out[87]= {{2096.81, 2.04636*10^-11, 1.42109*10^-14, 2.68301*10^-11}, {-4.55103*10^-12, 2027.21, -1.42109*10^-14, -2.01759*10^-11},
	{0., 0., 1923.69, 0.},
	{-5.17045*10^-12, -3.95489*10^-13, 0., 1915.63}}

und ebenso

In[88]:= erMS = Eigensystem[Rationalize[Reverse[#] & /@ Reverse[M]]] // N
Out[88]= {{2096.81, 2027.21, 1923.69, 1915.63},
	{{-17.5162, 1.04311, 1., 1.}, {0.17015, 0.939858, 1., 1.},
	{0., 0., -1., 1.},
	{-0.0124096, -2.12573, 1., 1.}}}

In[89]:= Inverse[Transpose[erMS[[2]]]] .
  Rationalize[Reverse[#] & /@ Reverse[M]] . Transpose[erMS[[2]]] // N

Out[89]= {{2096.81, 6.11511*10^-12, 8.88178*10^-16, 6.60005*10^-12}, {7.16227*10^-12, 2027.21, 1.13687*10^-13, -6.9349*10^-12},
	{0., 0., 1923.69, 0.},
	{-3.75167*10^-12, -2.38742*10^-12, 0., 1915.63}}

Eine Frage bleibt:
Hier sollte in der 3. Zeile, wenn er richtig rechnet {0.707107, -0.707107, 6.58 10^-14, -1.417 10^-15} stehen.

Er hat aber (vgl. Out[86]) für den dritten Eigenvektor {-1., 1., 0., 0.} ausgerechnet und die Probe stimmt.

Hier

In[47]:=  Eigenvectors[Reverse[#] & /@ Reverse[M]]
Out[47]= {{-0.995005, 0.0592536, 0.0568049, 0.0568049},
	{-0.0997043, -0.550739, -0.58598, -0.58598}, \
	{-1.4179*10^-15, 6.58226*10^-14, -0.707107, 0.707107},
	{-0.00486037, -0.832572, 0.391663, 0.391663}}

In[79]:= Inverse[
   Transpose[
    Eigenvectors[Reverse[#] & /@ Reverse[M]]]] . (Reverse[#] & /@
    Reverse[M]) .
  Transpose[Eigenvectors[Reverse[#] & /@ Reverse[M]]] // Chop

Out[79]= {{2096.81, 0, 0, 0},
	{0, 2027.21, 0, 0},
	{0, 0, 1923.69, 0},
	{0, 0, 0, 1915.63}}

stimmt die Probe auch, aber Out[47] und Out[88] passen nicht:
{0., 0., -707107, 0.0707107} != {0., 0., -1., 1.}

Übrigens scheitert die Probe Inverse[Transpose[Eigenvectors[M]]] . M . Transpose[Eigenvectors[M]]

Gruss
Udo.

Verweise:
(Numerisches?) Problem beim Bestimmen der Eigenvektoren
Andreas Messmer, 10.12.2009
Re: (Numerisches?) Problem beim Bestimmen der Eigenvektoren
Udo Brückmann, 11.12.2009
Re: (Numerisches?) Problem beim Bestimmen der Eigenvektoren
Andreas Messmer, 11.12.2009

Frühere

 

Chronologischer Index

 

Spätere

Vorherige

 

Thematischer Index

 

Nächste

DMUG-Archiv, http://www.mathematica.ch/dmug-liste.html; Letzte Änderung: 13.12.2009 15:00