The routine was returning with INFO = 0 while a failure of convergence should
have been reported with INFO > 0.
The bug has been around for quite a while and has been difficult to reproduce.
More information:
(*) bug0025 :: serious problem in DGESDD: DGESDD returns negative singular values with INFO = 0
o reported by Guy Bencteux on Sat Dec 06 2008
o see forum topic 847
o Julie : CANNOT REPRODUCE THE PROBLEM
o on Sat Jun 19 2010, Bruno Pinçon from ESIAL, reported another matrix with the same problems
o see forum topic 1868
o we can reproduce the problem with on MacOS with gfortran reference LAPACK
and vecLib BLAS, we can not reproduce the problem with reference LAPACK and reference BLAS.
o A patch has been proposed by Julien Langou. (See forum topic 1868.)
o Under review by other lapackers.
o Note: there is strong evidence that the bug of Guy Bencteux and this one
are the same, although we were never able to reproduce Guy's problem. So
we assume Guy's problem gone! (And send an email to Guy to inform him.)
$ Q( START+( IC+QSTART-2 )*N ),
$ Q( START+( IS+QSTART-2 )*N ),
$ WORK( WSTART ), IWORK, INFO )
- IF( INFO.NE.0 ) THEN
- RETURN
- END IF
+ END IF
+ IF( INFO.NE.0 ) THEN
+ RETURN
END IF
START = I + 1
END IF
$ Q( START+( IC+QSTART-2 )*N ),
$ Q( START+( IS+QSTART-2 )*N ),
$ WORK( WSTART ), IWORK, INFO )
- IF( INFO.NE.0 ) THEN
- RETURN
- END IF
+ END IF
+ IF( INFO.NE.0 ) THEN
+ RETURN
END IF
START = I + 1
END IF