I have non-symmetric generalized eigenvalue problem where the matrices A and B are dense and n by n for this case n=40.
I tried to use dggevx driver routine on my problem, however when the condition of the matrices get worse. I sometimes find some 'inf' values at the extreme end of the spectrum. What could be the potential reason of this problem, I use balancing before doing any further computations with dggbal routine.
Application notes have a pointer like the below which describes the 'inf' however how to compute the ratio then?
The quotients alphar(j)/beta(j) and alphai(j)/beta(j) may easily over- or underflow, and beta(j) may even be zero. Thus, you should avoid simply computing the ratio. However, alphar and alphai (for real flavors) or alpha (for complex flavors) will be always less than and usually comparable with norm(A) in magnitude, and beta always less than and usually comparable with norm(B).
And indeed the alphar and beta values for the last eigenvalue are given as
is there a way to cure this?
Thanks in advance Umut
Later on I tried balancing -> reduction to hessenberg format -> qz algorithm, with ggbal -> gghrd -> hgeqz Ok now I do not find inf or nan however now the eigenvalues computed by alpha/beta are not right and alpha values are the values on the diagonal of A matrix and beta values are all 1 in this case. Moreover it is also mentioned that alpha/beta should not be computed. And the same question applies as above then how to find the eigenvalues lambda?
I think it will be useful for you to learn about sensitivity of unsymmetric eigenvalue problem. There is a lot of literature on this, some nice pictures can be found at http://math.nist.gov/MatrixMarket/spectral.html (there are additional links at this site that are worth to visit). The pictures were built for calssical version of the eigenvalue problem. In your case, more complexity comes from the fact the problem is generalized and ill-conditioness of matrices adds more sensitivity.