# Is there a good way to check, whether a small value produced numerically is a symbolic zero?

I have a complicated 4x4 matrix and need to know the eigenvalues. I expect a zero eigenvalue for physical reasons.

Giving numerical values first gives me an eigenvalue of $\mathcal O(10^{-15})$. Now I want to check if this is just a numerical zero or whether the eigenvalue is slighly non-zero indeed. Both cases would be thrilling, but very different from their interpretation.

Is there any way of determining whether this small eigenvalue is actually a zero that is reasonably fast (i.e. a matter of minutes)?

• What does NullSpace[] return for your matrix? – J. M. will be back soon Oct 12 '15 at 14:22
• Rather than using machine arithmetic, you could repeat your computation with arbitrary precision arithmetic with the precision set higher than 20 and see if the value in question moves closer to zero as the precision increases. That will not give certainty, but it is a good heuristic. To give you more specific advice, we would need detailed information about your computations -- i.e., the code you are using – m_goldberg Oct 12 '15 at 15:20
• There is no actual example here, hence difficult to know what you are working with for matrix entries. (Symbolic? Algebraic? Something with trnascendentals?) Depending on those details, one possibility might be to investigate the constant terms of the characteristic polynomial. – Daniel Lichtblau Oct 12 '15 at 15:42
• "constant terms of the characteristic polynomial." - that would just be (up to sign) the determinant, no? – J. M. will be back soon Oct 12 '15 at 15:45