diff options
author | julie <julielangou@users.noreply.github.com> | 2012-03-20 21:31:07 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2012-03-20 21:31:07 +0000 |
commit | 97230bb34e502c85bafbd14a08b479019001f323 (patch) | |
tree | ca1db4ba1fe3ec5d19faba7abaeb0f146895b596 /lapacke/src/lapacke_sgetrs.c | |
parent | cbc56266969dc907689f442191b4052cda37abdb (diff) | |
download | lapack-97230bb34e502c85bafbd14a08b479019001f323.tar.gz lapack-97230bb34e502c85bafbd14a08b479019001f323.tar.bz2 lapack-97230bb34e502c85bafbd14a08b479019001f323.zip |
Correct bug 0090 Need to unscale if necessary when there is an error in DHGEQZ (QZ iteration failed)
* bug report by Hong Bo Peng Sandgren, on 03-19-2012.
* See link:http://icl.cs.utk.edu/lapack-forum/archives/lapack/msg01257.html[LAPACK Mailing list msg 01257]
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.
Diffstat (limited to 'lapacke/src/lapacke_sgetrs.c')
0 files changed, 0 insertions, 0 deletions