I need to compute the 5 lowest real eigenvalues and corresponding eigenvectors for a generalized eigenvalue problem A*u=lambda*B*u. Both A and B are real symmetric matrices. A is positive definite but B is not positive definite.

I can use dggev but dggev computes ALL the eigenvalues and eigenvectors assuming A and B are not symmetric, which I think it is not efficient because (a) I need onl 5 eignevalues/eigenvectors and (b) my matrices ARE symmetric.

Since B is not positive definite, I cannot use sygvx.

I want to use MKL!

What can I do?