# Eigen Values of Positive Definite Matrix

1. Sep 13, 2011

### vaibhavtewari

Hi, i was wondering is there a way I can find the eigenvalues of a positive definite matrix. ?

2. Sep 13, 2011

### micromass

Yes, find the characteristic polynomial and find its roots. The roots are the eigenvalues and should be positive.

3. Sep 13, 2011

### vaibhavtewari

That is true for any matrix, I was hoping to get an algorithm ..my matrix is large

4. Sep 13, 2011

### micromass

5. Sep 13, 2011

### AlephZero

How large is "large?" 100x100 or 1 millon x 1 million? Do you want all the eigenvalues, or just a few of them (either the largest or smallest ones?)

There are several different methods that will find all the eigenvalues of a moderate sized matrix (up to about 500 x 500 or 1000 x 1000 if you get lucky) efficiently. Google for the EISPACK library for computer codes. Trying to do this by hand is far too much work for anything bigger than about a 3x3 matrix.

For finding some eigenvalues of bigger postive definite matrices, probably the best method is the Lanczos algorithm, but I woudn't advise trying to write your own code to implement it (even though the maths appears to be quite straightforward) because there are some subtle numerical issues that you have to get right, or else it will fail to converge.

6. Sep 13, 2011

### vaibhavtewari

What are your thoughts regarding QR decomposition ?

7. Sep 13, 2011

### vaibhavtewari

my maximum matrix size is 100*100, I want to find all the eigen values.

8. Sep 13, 2011

### DuncanM

Just use one of the many routines or algorithms available. For example, MATLAB, Maple, and Mathematica are commercial software packages that could do it. Free packages are also available (for example, Octave is a free MATLAB clone). Or if you want an algorithm, use one of the many ones available on the NETLIB site. You could probably find one specific to your problem (for example, eigenvalues only, real entries, symmetric, etc.).

9. Sep 14, 2011

### AlephZero

Almost any method wiill work on a 100x100 matrix. On a modern PC the run time will be of the order of 1 second or less, so efficiency probably isn't important unless you want to solve thousands of matrices. QR decomposition should work fine.