version 1.8, 2011/11/21 20:42:55
|
version 1.14, 2015/11/26 11:44:17
|
Line 1
|
Line 1
|
*> \brief \b DLAHQR |
*> \brief \b DLAHQR computes the eigenvalues and Schur factorization of an upper Hessenberg matrix, using the double-shift/single-shift QR algorithm. |
* |
* |
* =========== DOCUMENTATION =========== |
* =========== DOCUMENTATION =========== |
* |
* |
Line 183
|
Line 183
|
*> \author Univ. of Colorado Denver |
*> \author Univ. of Colorado Denver |
*> \author NAG Ltd. |
*> \author NAG Ltd. |
* |
* |
*> \date November 2011 |
*> \date November 2015 |
* |
* |
*> \ingroup doubleOTHERauxiliary |
*> \ingroup doubleOTHERauxiliary |
* |
* |
Line 207
|
Line 207
|
SUBROUTINE DLAHQR( WANTT, WANTZ, N, ILO, IHI, H, LDH, WR, WI, |
SUBROUTINE DLAHQR( WANTT, WANTZ, N, ILO, IHI, H, LDH, WR, WI, |
$ ILOZ, IHIZ, Z, LDZ, INFO ) |
$ ILOZ, IHIZ, Z, LDZ, INFO ) |
* |
* |
* -- LAPACK auxiliary routine (version 3.4.0) -- |
* -- LAPACK auxiliary routine (version 3.6.0) -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
* November 2011 |
* November 2015 |
* |
* |
* .. Scalar Arguments .. |
* .. Scalar Arguments .. |
INTEGER IHI, IHIZ, ILO, ILOZ, INFO, LDH, LDZ, N |
INTEGER IHI, IHIZ, ILO, ILOZ, INFO, LDH, LDZ, N |
Line 223
|
Line 223
|
* ========================================================= |
* ========================================================= |
* |
* |
* .. Parameters .. |
* .. Parameters .. |
INTEGER ITMAX |
|
PARAMETER ( ITMAX = 30 ) |
|
DOUBLE PRECISION ZERO, ONE, TWO |
DOUBLE PRECISION ZERO, ONE, TWO |
PARAMETER ( ZERO = 0.0d0, ONE = 1.0d0, TWO = 2.0d0 ) |
PARAMETER ( ZERO = 0.0d0, ONE = 1.0d0, TWO = 2.0d0 ) |
DOUBLE PRECISION DAT1, DAT2 |
DOUBLE PRECISION DAT1, DAT2 |
Line 235
|
Line 233
|
$ H22, RT1I, RT1R, RT2I, RT2R, RTDISC, S, SAFMAX, |
$ H22, RT1I, RT1R, RT2I, RT2R, RTDISC, S, SAFMAX, |
$ SAFMIN, SMLNUM, SN, SUM, T1, T2, T3, TR, TST, |
$ SAFMIN, SMLNUM, SN, SUM, T1, T2, T3, TR, TST, |
$ ULP, V2, V3 |
$ ULP, V2, V3 |
INTEGER I, I1, I2, ITS, J, K, L, M, NH, NR, NZ |
INTEGER I, I1, I2, ITS, ITMAX, J, K, L, M, NH, NR, NZ |
* .. |
* .. |
* .. Local Arrays .. |
* .. Local Arrays .. |
DOUBLE PRECISION V( 3 ) |
DOUBLE PRECISION V( 3 ) |
Line 292
|
Line 290
|
I2 = N |
I2 = N |
END IF |
END IF |
* |
* |
|
* ITMAX is the total number of QR iterations allowed. |
|
* |
|
ITMAX = 30 * MAX( 10, NH ) |
|
* |
* The main loop begins here. I is the loop index and decreases from |
* The main loop begins here. I is the loop index and decreases from |
* IHI to ILO in steps of 1 or 2. Each iteration of the loop works |
* IHI to ILO in steps of 1 or 2. Each iteration of the loop works |
* with the active submatrix in rows and columns L to I. |
* with the active submatrix in rows and columns L to I. |