--- rpl/lapack/lapack/zhsein.f 2011/11/21 22:19:49 1.9
+++ rpl/lapack/lapack/zhsein.f 2017/06/17 10:54:17 1.15
@@ -2,18 +2,18 @@
*
* =========== DOCUMENTATION ===========
*
-* Online html documentation available at
-* http://www.netlib.org/lapack/explore-html/
+* Online html documentation available at
+* http://www.netlib.org/lapack/explore-html/
*
*> \htmlonly
-*> Download ZHSEIN + dependencies
-*>
-*> [TGZ]
-*>
-*> [ZIP]
-*>
+*> Download ZHSEIN + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
*> [TXT]
-*> \endhtmlonly
+*> \endhtmlonly
*
* Definition:
* ===========
@@ -21,7 +21,7 @@
* SUBROUTINE ZHSEIN( SIDE, EIGSRC, INITV, SELECT, N, H, LDH, W, VL,
* LDVL, VR, LDVR, MM, M, WORK, RWORK, IFAILL,
* IFAILR, INFO )
-*
+*
* .. Scalar Arguments ..
* CHARACTER EIGSRC, INITV, SIDE
* INTEGER INFO, LDH, LDVL, LDVR, M, MM, N
@@ -33,7 +33,7 @@
* COMPLEX*16 H( LDH, * ), VL( LDVL, * ), VR( LDVR, * ),
* $ W( * ), WORK( * )
* ..
-*
+*
*
*> \par Purpose:
* =============
@@ -104,6 +104,7 @@
*> \verbatim
*> H is COMPLEX*16 array, dimension (LDH,N)
*> The upper Hessenberg matrix H.
+*> If a NaN is detected in H, the routine will return with INFO=-6.
*> \endverbatim
*>
*> \param[in] LDH
@@ -220,12 +221,12 @@
* Authors:
* ========
*
-*> \author Univ. of Tennessee
-*> \author Univ. of California Berkeley
-*> \author Univ. of Colorado Denver
-*> \author NAG Ltd.
+*> \author Univ. of Tennessee
+*> \author Univ. of California Berkeley
+*> \author Univ. of Colorado Denver
+*> \author NAG Ltd.
*
-*> \date November 2011
+*> \date December 2016
*
*> \ingroup complex16OTHERcomputational
*
@@ -244,10 +245,10 @@
$ LDVL, VR, LDVR, MM, M, WORK, RWORK, IFAILL,
$ IFAILR, INFO )
*
-* -- LAPACK computational routine (version 3.4.0) --
+* -- LAPACK computational routine (version 3.7.0) --
* -- LAPACK is a software package provided by Univ. of Tennessee, --
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
-* November 2011
+* December 2016
*
* .. Scalar Arguments ..
CHARACTER EIGSRC, INITV, SIDE
@@ -276,9 +277,9 @@
COMPLEX*16 CDUM, WK
* ..
* .. External Functions ..
- LOGICAL LSAME
+ LOGICAL LSAME, DISNAN
DOUBLE PRECISION DLAMCH, ZLANHS
- EXTERNAL LSAME, DLAMCH, ZLANHS
+ EXTERNAL LSAME, DLAMCH, ZLANHS, DISNAN
* ..
* .. External Subroutines ..
EXTERNAL XERBLA, ZLAEIN
@@ -399,7 +400,10 @@
* has not ben computed before.
*
HNORM = ZLANHS( 'I', KR-KL+1, H( KL, KL ), LDH, RWORK )
- IF( HNORM.GT.RZERO ) THEN
+ IF( DISNAN( HNORM ) ) THEN
+ INFO = -6
+ RETURN
+ ELSE IF( HNORM.GT.RZERO ) THEN
EPS3 = HNORM*ULP
ELSE
EPS3 = SMLNUM