Generalized eigenvalue and eigenvectors: differences between matlab eig(A,B) and MKL Lapack dsygv

6 views (last 30 days)
Hi everyone,
I am trying to solve the generalized symetric eigenproblem :
Ax=lambda Bx
where A and B are symmetric matrices and B is positive definite.
Matlab function eig(A,B) is suppoosed to be calling the MKL function dsygv in this particular case. I implemented dsygv and compared the results to eig(A,B):
While the eigenvalues are always identical, from time to time I find some differences on the eigenvectors. Relative differences on the eigenvectors components are very small, of the order of 10^-10 to 10^-15, but this is an issue for the rest of my code.
Matrices A and B are typically 200x200, A is singular and B is well conditionned. I have many couple of such matrices and I have no clue why eigenvectors are sometimes identical or not. It seems like matlab would apply different algorithm depending on the matrices (not simply always dsygv).
Does anyone could help me on that? I can send by email a .mat file with matrix A and B in case where the results are exactly the same and in the case where some differences arise.
Many thanks

Answers (0)

Categories

Find more on Linear Algebra in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!