I have a large numerical matrix whose eigenvalues are all distinct. In the documentation for Eigenvectors
it says:
For approximate numerical matrices m, the eigenvectors are normalized.
Eigenvectors with numeric eigenvalues are sorted in order of decreasing absolute value of their eigenvalues.
So from what I understand, Eigenvectors
should give the same result every time. But in reality it gives different results, if I did some heavy calculation tasks in between to evaluations so that the autosaved evaluation results are erased. Why is that?
Here is the matrix causing the problem. Simply Import
it into Mathematica and apply Eigenvectors
. I'm using "10.0 for Microsoft Windows (32-bit) (June 30, 2014)".
omega = Import["Omega.m"]
Eigenvectors[omega]
Note that there must be lots of irrelevant calculation in between two evaluations in order to reproduce the problem. Sorry that I can't provide the code that I'm using but I think any heavy calculation will do. Or is there some way to turn off the automatic memoization?
(omega.#/#)@[First@Eigenvectors@omega]
, and it turned out that it's not constant (with both positive and negative value) so it does seem to be a precision issue. Can I increase the precision withoutRationalize
everything? $\endgroup$