0

I have a real 3x3 symmetric matrix. I know that its 3 eigenvalues are 0 (within precision) and two real numbers >>0. What's the most efficient way to find the eigenvector corresponding to the 0 eigenvalue that works in all cases, i.e., doesn't fail in any special cases?

I've already seen this similar question: How to calculate the eigenvector corresponding to zero eigenvalue But they never actually answer the stated question in there. And they recommend using Gaussian Elimination which fails in many cases, e.g., a diagonal matrix with 1 zero on the diagonal.

My problem is maybe further complicated by floating-point precision issues, so I guess I'm actually looking for an eigenvector with a very very small, possibly non-zero eigenvalue, as close to zero a precision allowed.

The best never-fails method I could figure out that works 100% of the time to find the near-0 eigenvector of a symmetric 3x3 real matrix with one near-0 and two real >>0 eigenvalues was to find the three cross-products of the three rows and use the longest one. It works, but geez it's clunky, and I think there MUST be something faster and more elegant.

Jerry Guern
  • 2,662
  • Your comment under my answer to the linked question is wrong. If the matrix $A$ has a zero eigenvalue, you can find the corresponding eigenvector $x$ by solving $Ax=0$. In particular, in your example of a diagonal matrix with a zero in one row on the diagonal, the corresponding eigenvector is the canonical basis vector for that row. In the case in the linked answer, with integer entries, there are no rounding problems. In your case, there may be rounding and conditioning problems that prevent you from applying this approach, but that's a different problem. – joriki Jan 13 '23 at 18:02
  • @joriki You are correct that the 0-eigenvector of my example is the basis vector of that row, but what I said in my comment is that you can't get that result using Gaussian Elimination. If you know some way GE does that you that result, please post an explanation in an Answer. – Jerry Guern Jan 15 '23 at 00:18
  • This has been explained in detail e.g. here. – joriki Jan 15 '23 at 01:45
  • @joriki No, that method also fails for the simple example I gave. – Jerry Guern Jan 21 '23 at 17:36

0 Answers0