I know one way to calculate the eigenvalues of a matrix, by setting |M-\lambda I| = 0, where M is the matrix, I is the unit matrix and \lambda are the eigenvalues. Is there any other possible way to calculate these eigenvalues analytically?
There is no way that such a method exists for general matrices. There is a kind of equivalence between computing eigenvalues and computing roots of polynomial. One of the best known numerical method to solve numerically a polynomial reduce the problem to compute eigenvalues of its companion matrix (balanced, pre-conditionned ...). There is a lot of numerical method for eigenvalues computation (see Françoise Tisseur work for a good survey). But it is just impossible for a general matrix to have an analytic method. Perhaps if your matrices have special structure one can try to design a specific method. But there is no hope for the general case.
denote P(\lambda)=det(M-\lambda I) the characteristic polynomial of M. Then its degree is equal to the size of the matrix ... If the degree is larger or equal to 5, there is no closed formula using only classical operation and square roots, cubic roots and so on. So it depend on what do you mean by "analytically" ? The best way to have something computationally helpful is to have the way to compute a sequence of approximation converging fast to a root. But even this is difficult for the computational point of view.
That is exactly what my problem is. When the order of the characteristic equation exceeds 5, it is somewhat cumbersome to use a classical way (analytical=classical way of solving a problem using pen and paper) to approach the problem especially when the matrix elements are not numbers but has variables and functions. So I do not want a computational technique to solve the problem. What I look for is an alternative pathway (if it is existent) to calculate the eigen values.
There is no way that such a method exists for general matrices. There is a kind of equivalence between computing eigenvalues and computing roots of polynomial. One of the best known numerical method to solve numerically a polynomial reduce the problem to compute eigenvalues of its companion matrix (balanced, pre-conditionned ...). There is a lot of numerical method for eigenvalues computation (see Françoise Tisseur work for a good survey). But it is just impossible for a general matrix to have an analytic method. Perhaps if your matrices have special structure one can try to design a specific method. But there is no hope for the general case.
If you would like to know analytical form of eigenvalues and eigenvectors of a certain matrix, I recommend to use Mathematica or similar application. 3X3 matrix is already complicate enough to generally calculate its eigenvalues and vectors analytically by hand (at least by my hand). I myself use Mathematica satisfactorily. It has useful functions to calculate eigenvalues and vectors analytically or numerically.
If your task doesn't require the precise knowledge of eigenvalues and the guaranteed range of \lambda is sufficient, then you may consider the Rayleigh Quotient (see:
http://en.wikipedia.org/wiki/Rayleigh_quotient ). This, however, is only good for Hermitian matrices.
It may happen that your original matrix is sparse, i.e. contains many zero elements. If you're lucky, then permutation of its rows and/or columns may transform it into block-diagonal form. This may work fork relatively small matrices, say up to the order of ~20, as the number of permutations grows as n! It quickly becomes impractical, especially that there is guarantee to obtain block-diagonal form at all. Last time I saw this technique successful the matrix order was 8 transformed to blocks 2x2, 2x2 and 4x4.