- #1
jostpuur
- 2,116
- 19
All matrices [itex]A\in\mathbb{C}^{n\times n}[/itex] have at least one eigenvector [itex]z\in\mathbb{C}^n[/itex]. I'm interested to know what kind of algorithms there are for the purpose of finding an eigenvector.
I noticed that
[tex]
\frac{|z^{\dagger} A z|}{\|Az\|} = 1\quad\quad\quad\quad (1)
[/tex]
holds only when [itex]z[/itex] is an eigenvector, so I succeeded writing one algorithm using this fact. I let [itex]z[/itex] move on the sphere [itex]\|z\|=1[/itex] when the program runs iterations so that the quantity (1) is maximized. Unfortunately I run into some precision problems. For some reason my function seems to give only 3 or 4 decimals right for the components of the eigenvector, even though floating point numbers in C-language could contain more accuracy. I believe that the inaccuracy problem rises from the fact that the quantity (1) is approximately a paraboloid in the environment of the eigenvector. If the peak was sharp, then its location would be easier to find with iterations, but paraboloid is not so sharp peak, which makes its location less precise.
Anyway, are there other kind of algorithms out there too?
I noticed that
[tex]
\frac{|z^{\dagger} A z|}{\|Az\|} = 1\quad\quad\quad\quad (1)
[/tex]
holds only when [itex]z[/itex] is an eigenvector, so I succeeded writing one algorithm using this fact. I let [itex]z[/itex] move on the sphere [itex]\|z\|=1[/itex] when the program runs iterations so that the quantity (1) is maximized. Unfortunately I run into some precision problems. For some reason my function seems to give only 3 or 4 decimals right for the components of the eigenvector, even though floating point numbers in C-language could contain more accuracy. I believe that the inaccuracy problem rises from the fact that the quantity (1) is approximately a paraboloid in the environment of the eigenvector. If the peak was sharp, then its location would be easier to find with iterations, but paraboloid is not so sharp peak, which makes its location less precise.
Anyway, are there other kind of algorithms out there too?