# Most efficient way to compute eigenvectors / values of this matrix?

I have a symmetric $3 \times 3$ matrix $A$ and I need to compute the eigenvectors and eigenvalues of this. I know that I can use something like Lapack, but I also know that this can be computed analytically.

The physics suggest that this will have only real eigenvalues, but the analytic expression allows for imaginary numbers.

1. Is there a simply analytic expression for this?
2. If I can generate the characteristic equation analytically, would it be most efficient to solve this equation numerically to obtain the eigenvalues?
3. Is it just as simple / efficient to simply use something like Lapack for this?
4. Any other ideas?
• Can you specify what the matrix $A$ looks like? Even though it is small, knowing the structure of $A$ may help better answer your additional questions. – Charles Apr 23 '16 at 18:34
• Note that if $A$ is a real symmetric matrix, its eigenvalues are real no matter what the physical motivation. – hardmath Apr 23 '16 at 19:49
• @hardmath I thought of that on my way to Home Depot today! However, when I input Eigenvalues[ {{a, b, c},{b, d, e},{c, e, f}} ] into Mathematica (or WolframAlpha.com), it shows complex values for $\lambda_2$ and $\lambda_3$ which confused me. – drjrm3 Apr 23 '16 at 20:17
• There is a disadvantage to Cardano's method for solving the general cubic polynomial, that even when all three roots are real, the intermediate expressions for the roots may involve complex arithmetic. When it known (as here) that all three roots are real, there is an alternative approach using trigonometric functions instead of radicals to give only real expressions for the three roots. – hardmath Apr 23 '16 at 20:23