0
$\begingroup$

I need to compute (an approximation may be good enough) the largest (by absolute value) eigenvalue of a real symmetric 3x3 matrix many ($10^{6-12}$) times. Is there anything better than just computing the eigenvalues (say as described here) and then finding the absolute largest?

$\endgroup$
1
  • $\begingroup$ @PVAL defined "many". Definitely many more than 20. $\endgroup$ – Walter Dec 2 '15 at 22:25
1
$\begingroup$

For a $3\times3$ matrix, there is nothing wrong with computing all three eigenvalues since the resulting characteristic polynomial is of low degree, and most computer algebra systems are happy to find the roots of low degree polynomials for you.

However, when the degree increases, this method becomes poor. A simple alternative is power iteration, which returns exactly what you are looking for.

$\endgroup$
2
  • $\begingroup$ I'm only interested in $3\times3$ matrices (as stated). Solving for all 3 eigenvalues can be done using the exact formula for the roots of a 3rd order polynomial, but does call $\arccos$ once and $\cos$ twice, which are computationally expensive. $\endgroup$ – Walter Dec 2 '15 at 22:22
  • $\begingroup$ The power method only involves multiplication and addition, so it might be faster than evaluating the roots of a 3rd order polynomial depending on how you pick your desired error tolerance. $\endgroup$ – parsiad Dec 2 '15 at 22:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.