I am doing some work with DGGEV. When I check the return msg and the actual
code, I found something may be wrong. Here is part of comments in the
header of DGGEV.F.
* INFO (output) INTEGER
* = 0: successful exit
* < 0: if INFO = -i, the i-th argument had an illegal value.
* = 1,...,N:
* The QZ iteration failed. No eigenvectors have been
* calculated, but ALPHAR(j), ALPHAI(j), and BETA(j)
* should be correct for j=INFO+1,...,N.
* > N: =N+1: other than QZ iteration failed in DHGEQZ.
* =N+2: error return from DTGEVC.
When INFO = 1...N, there is an error in DHGEQZ (QZ iteration failed). From
the code, we can see it jumps to label 110 then set WORK(1) and return.
But in case of we scaled the matrix, we still need to undo scale for the
output array ALPHAR, ALPHAI and BETA for those values j=INFO+1,...,N.
In DGEEVX, we can see that it jumps to label 50 in case of DHSEQR failure
and then undo scale before return.
Please correct me if I am wrong. Thank you.
-------------- next part --------------
An HTML attachment was scrubbed...