--- rpl/lapack/lapack/dhsein.f 2011/11/21 20:42:53 1.8
+++ rpl/lapack/lapack/dhsein.f 2017/06/17 11:06:20 1.16
@@ -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 DHSEIN + dependencies
-*>
-*> [TGZ]
-*>
-*> [ZIP]
-*>
+*> Download DHSEIN + dependencies
+*>
+*> [TGZ]
+*>
+*> [ZIP]
+*>
*> [TXT]
-*> \endhtmlonly
+*> \endhtmlonly
*
* Definition:
* ===========
@@ -21,7 +21,7 @@
* SUBROUTINE DHSEIN( SIDE, EIGSRC, INITV, SELECT, N, H, LDH, WR, WI,
* VL, LDVL, VR, LDVR, MM, M, WORK, IFAILL,
* IFAILR, INFO )
-*
+*
* .. Scalar Arguments ..
* CHARACTER EIGSRC, INITV, SIDE
* INTEGER INFO, LDH, LDVL, LDVR, M, MM, N
@@ -32,7 +32,7 @@
* DOUBLE PRECISION H( LDH, * ), VL( LDVL, * ), VR( LDVR, * ),
* $ WI( * ), WORK( * ), WR( * )
* ..
-*
+*
*
*> \par Purpose:
* =============
@@ -108,6 +108,7 @@
*> \verbatim
*> H is DOUBLE PRECISION 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
@@ -238,12 +239,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 doubleOTHERcomputational
*
@@ -262,10 +263,10 @@
$ VL, LDVL, VR, LDVR, MM, M, WORK, 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
@@ -291,9 +292,9 @@
$ WKR
* ..
* .. External Functions ..
- LOGICAL LSAME
+ LOGICAL LSAME, DISNAN
DOUBLE PRECISION DLAMCH, DLANHS
- EXTERNAL LSAME, DLAMCH, DLANHS
+ EXTERNAL LSAME, DLAMCH, DLANHS, DISNAN
* ..
* .. External Subroutines ..
EXTERNAL DLAEIN, XERBLA
@@ -423,7 +424,10 @@
* has not ben computed before.
*
HNORM = DLANHS( 'I', KR-KL+1, H( KL, KL ), LDH, WORK )
- IF( HNORM.GT.ZERO ) THEN
+ IF( DISNAN( HNORM ) ) THEN
+ INFO = -6
+ RETURN
+ ELSE IF( HNORM.GT.ZERO ) THEN
EPS3 = HNORM*ULP
ELSE
EPS3 = SMLNUM