Hello,
I need to retrieve the eigen vector from a matrix. The problem is I don't match the result same as my matlab code.
I have a matrix symmetric 100x100 and trying to obtain eigen value and eigen vector from it. I work with double matrix (CV_64F) to have the best precision as possible (Already tried Float and it fail more).
My eigen value seems good but the vector loses some accuracy for each value ( Ex : value 1 to 25 exactly match with matlab but further you get to 100 , more I am losing precision, but I can work with that.)
But the problem is more with the eigen vector. The result is same as eigen value, lose precision but the problem is with the sign. If I take the firsts 25x25 results. I'm totally matching with matlab but randomly have positive or negative value. So I got wrong information at the end.
Right now I'm using cv:eigen function like this :
cv::eigen(oResultMax,oMatValue,oMatVector);
I have already tried the SelfAdjointSolver from the library Eigen. Eigen SelfAdjointSolver
Anyone have an idea ? Or suggest me something ?