I'm using DGGEVX routine from LAPACKE with BALANC option as shown below, but to my surprise changing BALANC option from 'N' to 'P' or 'S' or 'B' has no effect on the output Eigen values & vectors. Does anybody know why?info=LAPACKE_dggevx(LAPACK_COL_MAJOR,'B','V','V','N',n,a,n,b,n,alphar,alphai,beta,vl,n,vr,n,&ilo,&ihi,lscale,rscale,&abnrm,&bbnrm,rconde,rcondv);
LAPACK DGGEVX: BALANC option
c++;eigensystem;eigenvalues;lapack;eigen
Based on your comments, the most likely explanation is as follows.In dggevx.f, there is the following paragraph:*  Optionally also, it computes a balancing transformation to improve*  the conditioning of the eigenvalues and eigenvectors (ILO, IHI,*  LSCALE, RSCALE, ABNRM, and BBNRM), reciprocal condition numbers for*  the eigenvalues (RCONDE), and reciprocal condition numbers for the*  right eigenvectors (RCONDV).Such balancing transformations are aimed at improving the conditioning of the computation. If successful, this makes the results more accurate (not completely accurate, though).In your case, since you see that some but not all of the outputs are different, and that balancing is actually performed, the most likely interpretation is that  the results without balancing were already pretty accurate, so improving the conditioning of the system did not make them much more accurate than that. The outputs that did change are more accurate now than they used to be.To check whether this interpretation is right, you'd need to say more about your matrices, their condition numbers, etc. Many of such special options are aimed at calculations involving poorly conditioned matrices, for which they can make a difference. If your matrices have small condition numbers, this won't have much of an effect.