Numerical Methods for finding eigenvalues of large matrices. I'am writing a small research paper on a problem in linear algebra of my choice. I have chose to do the eigenvalue/vector problem. I know that finding eigenvalues gets pretty much impossible if the matrix os above $4 \times 4$ in dimension. So i'd like to include some numerical methods for approximating eigenvalues, maybe 1 pretty simple one and then one thats a little more complex. 
I was just wondering could anyone recommend any such methods that i could look up and try to implement in MATLAB or python pretty simply.
 A: I recommend that you study the following algorithms which are all derived from the basic power method mentioned by Mark McClure. 


*

*The standard subspace iteration.

*Subspace iteration with Rayleigh-Ritz acceleration.

*Shifted inverse subspace iteration with Rayleigh-Ritz acceleration.


There algorithms are all discussed in the book "Matrix Computations" by Gene Golub and Charles van Loan. The third edition is freely available throught MIT at this address
http://web.mit.edu/ehliu/Public/sclark/Golub%20G.H.,%20Van%20Loan%20C.F.-%20Matrix%20Computations.pdf
The standard subspace iteration is the power method extended to $k$ vectors instead of just one. Normalization is done with the QR algorithm. Needless to say, the Rayleigh-Ritz acceleration improves convergence, at the cost of solving small dense eigenvalue problems. Replacing the action of $A$ with the action of $(A - \sigma I)^{-1}$ as in the shifted inverse subspace iteration allows you to extract information about the eigenpairs for which the eigenvalues are close to $\sigma$.
I should emphasize that these iterative methods are primarily of interest when the matrices are sparse and that they only deliver a portion of the spectrum. 
If the matrices are dense or if you want the entire eigen decomposition then there is rarely any choice except to accept the $O(n^3)$ cost of running a dense method.
