Replace the conditionally defined index variable INDIBL with a constant 1
This commit is contained in:
parent
2d39e715e2
commit
c48bbe93d4
|
@ -327,7 +327,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, UPPER, VALEIG, WANTZ
|
||||
CHARACTER ORDER, VECT
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDIBL, INDISP,
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDISP,
|
||||
$ INDIWK, INDRWK, INDWRK, ITMP1, J, JJ, NSPLIT
|
||||
REAL TMP1
|
||||
* ..
|
||||
|
@ -470,17 +470,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWK = INDISP + N
|
||||
CALL SSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL,
|
||||
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( INDIWK ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
|
||||
*
|
||||
* Apply unitary matrix used in reduction to tridiagonal
|
||||
|
@ -510,11 +509,11 @@
|
|||
40 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL CSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -264,7 +264,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, VALEIG, WANTZ
|
||||
CHARACTER ORDER
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE, INDIBL,
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE,
|
||||
$ INDISP, INDIWK, INDRWK, INDTAU, INDWRK, ISCALE,
|
||||
$ ITMP1, J, JJ, NSPLIT
|
||||
REAL ABSTLL, ANRM, BIGNUM, EPS, RMAX, RMIN, SAFMIN,
|
||||
|
@ -434,17 +434,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWK = INDISP + N
|
||||
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
|
||||
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( INDIWK ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL CSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
|
||||
*
|
||||
* Apply unitary matrix used in reduction to tridiagonal
|
||||
|
@ -482,11 +481,11 @@
|
|||
30 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL CSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -317,7 +317,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, UPPER, VALEIG, WANTZ
|
||||
CHARACTER ORDER, VECT
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDIBL, INDISP,
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDISP,
|
||||
$ INDIWO, INDWRK, ITMP1, J, JJ, NSPLIT
|
||||
DOUBLE PRECISION TMP1
|
||||
* ..
|
||||
|
@ -457,17 +457,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWO = INDISP + N
|
||||
CALL DSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL,
|
||||
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( INDIWO ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL DSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
|
||||
*
|
||||
* Apply transformation matrix used in reduction to tridiagonal
|
||||
|
@ -497,11 +496,11 @@
|
|||
40 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL DSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -255,7 +255,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, VALEIG, WANTZ
|
||||
CHARACTER ORDER
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE, INDIBL,
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE,
|
||||
$ INDISP, INDIWO, INDTAU, INDWRK, ISCALE, ITMP1,
|
||||
$ J, JJ, NSPLIT
|
||||
DOUBLE PRECISION ABSTLL, ANRM, BIGNUM, EPS, RMAX, RMIN, SAFMIN,
|
||||
|
@ -424,17 +424,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWO = INDISP + N
|
||||
CALL DSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
|
||||
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( INDIWO ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL DSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
|
||||
*
|
||||
* Apply orthogonal matrix used in reduction to tridiagonal
|
||||
|
@ -471,11 +470,11 @@
|
|||
30 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL DSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -248,7 +248,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, VALEIG, WANTZ
|
||||
CHARACTER ORDER
|
||||
INTEGER I, IMAX, INDIBL, INDISP, INDIWO, INDWRK,
|
||||
INTEGER I, IMAX, INDISP, INDIWO, INDWRK,
|
||||
$ ISCALE, ITMP1, J, JJ, NSPLIT
|
||||
DOUBLE PRECISION BIGNUM, EPS, RMAX, RMIN, SAFMIN, SIGMA, SMLNUM,
|
||||
$ TMP1, TNRM, VLL, VUU
|
||||
|
@ -399,15 +399,14 @@
|
|||
ORDER = 'E'
|
||||
END IF
|
||||
INDWRK = 1
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWO = INDISP + N
|
||||
CALL DSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTOL, D, E, M,
|
||||
$ NSPLIT, W, IWORK( INDIBL ), IWORK( INDISP ),
|
||||
$ NSPLIT, W, IWORK( 1 ), IWORK( INDISP ),
|
||||
$ WORK( INDWRK ), IWORK( INDIWO ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL DSTEIN( N, D, E, M, W, IWORK( INDIBL ), IWORK( INDISP ),
|
||||
CALL DSTEIN( N, D, E, M, W, IWORK( 1 ), IWORK( INDISP ),
|
||||
$ Z, LDZ, WORK( INDWRK ), IWORK( INDIWO ), IFAIL,
|
||||
$ INFO )
|
||||
END IF
|
||||
|
@ -439,11 +438,11 @@
|
|||
30 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL DSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -317,7 +317,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, UPPER, VALEIG, WANTZ
|
||||
CHARACTER ORDER, VECT
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDIBL, INDISP,
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDISP,
|
||||
$ INDIWO, INDWRK, ITMP1, J, JJ, NSPLIT
|
||||
REAL TMP1
|
||||
* ..
|
||||
|
@ -457,17 +457,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWO = INDISP + N
|
||||
CALL SSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL,
|
||||
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( INDIWO ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL SSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
|
||||
*
|
||||
* Apply transformation matrix used in reduction to tridiagonal
|
||||
|
@ -497,11 +496,11 @@
|
|||
40 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL SSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -255,7 +255,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, VALEIG, WANTZ
|
||||
CHARACTER ORDER
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE, INDIBL,
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE,
|
||||
$ INDISP, INDIWO, INDTAU, INDWRK, ISCALE, ITMP1,
|
||||
$ J, JJ, NSPLIT
|
||||
REAL ABSTLL, ANRM, BIGNUM, EPS, RMAX, RMIN, SAFMIN,
|
||||
|
@ -424,17 +424,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWO = INDISP + N
|
||||
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
|
||||
$ WORK( INDD ), WORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), WORK( INDWRK ),
|
||||
$ IWORK( INDIWO ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL SSTEIN( N, WORK( INDD ), WORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ WORK( INDWRK ), IWORK( INDIWO ), IFAIL, INFO )
|
||||
*
|
||||
* Apply orthogonal matrix used in reduction to tridiagonal
|
||||
|
@ -471,11 +470,11 @@
|
|||
30 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL SSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -248,7 +248,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, VALEIG, WANTZ
|
||||
CHARACTER ORDER
|
||||
INTEGER I, IMAX, INDIBL, INDISP, INDIWO, INDWRK,
|
||||
INTEGER I, IMAX, INDISP, INDIWO, INDWRK,
|
||||
$ ISCALE, ITMP1, J, JJ, NSPLIT
|
||||
REAL BIGNUM, EPS, RMAX, RMIN, SAFMIN, SIGMA, SMLNUM,
|
||||
$ TMP1, TNRM, VLL, VUU
|
||||
|
@ -399,15 +399,14 @@
|
|||
ORDER = 'E'
|
||||
END IF
|
||||
INDWRK = 1
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWO = INDISP + N
|
||||
CALL SSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTOL, D, E, M,
|
||||
$ NSPLIT, W, IWORK( INDIBL ), IWORK( INDISP ),
|
||||
$ NSPLIT, W, IWORK( 1 ), IWORK( INDISP ),
|
||||
$ WORK( INDWRK ), IWORK( INDIWO ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL SSTEIN( N, D, E, M, W, IWORK( INDIBL ), IWORK( INDISP ),
|
||||
CALL SSTEIN( N, D, E, M, W, IWORK( 1 ), IWORK( INDISP ),
|
||||
$ Z, LDZ, WORK( INDWRK ), IWORK( INDIWO ), IFAIL,
|
||||
$ INFO )
|
||||
END IF
|
||||
|
@ -439,11 +438,11 @@
|
|||
30 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL SSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -327,7 +327,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, UPPER, VALEIG, WANTZ
|
||||
CHARACTER ORDER, VECT
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDIBL, INDISP,
|
||||
INTEGER I, IINFO, INDD, INDE, INDEE, INDISP,
|
||||
$ INDIWK, INDRWK, INDWRK, ITMP1, J, JJ, NSPLIT
|
||||
DOUBLE PRECISION TMP1
|
||||
* ..
|
||||
|
@ -470,17 +470,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWK = INDISP + N
|
||||
CALL DSTEBZ( RANGE, ORDER, N, VL, VU, IL, IU, ABSTOL,
|
||||
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( INDIWK ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL ZSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
|
||||
*
|
||||
* Apply unitary matrix used in reduction to tridiagonal
|
||||
|
@ -510,11 +509,11 @@
|
|||
40 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL ZSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
|
@ -264,7 +264,7 @@
|
|||
* .. Local Scalars ..
|
||||
LOGICAL ALLEIG, INDEIG, TEST, VALEIG, WANTZ
|
||||
CHARACTER ORDER
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE, INDIBL,
|
||||
INTEGER I, IINFO, IMAX, INDD, INDE, INDEE,
|
||||
$ INDISP, INDIWK, INDRWK, INDTAU, INDWRK, ISCALE,
|
||||
$ ITMP1, J, JJ, NSPLIT
|
||||
DOUBLE PRECISION ABSTLL, ANRM, BIGNUM, EPS, RMAX, RMIN, SAFMIN,
|
||||
|
@ -434,17 +434,16 @@
|
|||
ELSE
|
||||
ORDER = 'E'
|
||||
END IF
|
||||
INDIBL = 1
|
||||
INDISP = INDIBL + N
|
||||
INDISP = 1 + N
|
||||
INDIWK = INDISP + N
|
||||
CALL DSTEBZ( RANGE, ORDER, N, VLL, VUU, IL, IU, ABSTLL,
|
||||
$ RWORK( INDD ), RWORK( INDE ), M, NSPLIT, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( 1 ), IWORK( INDISP ), RWORK( INDRWK ),
|
||||
$ IWORK( INDIWK ), INFO )
|
||||
*
|
||||
IF( WANTZ ) THEN
|
||||
CALL ZSTEIN( N, RWORK( INDD ), RWORK( INDE ), M, W,
|
||||
$ IWORK( INDIBL ), IWORK( INDISP ), Z, LDZ,
|
||||
$ IWORK( 1 ), IWORK( INDISP ), Z, LDZ,
|
||||
$ RWORK( INDRWK ), IWORK( INDIWK ), IFAIL, INFO )
|
||||
*
|
||||
* Apply unitary matrix used in reduction to tridiagonal
|
||||
|
@ -482,11 +481,11 @@
|
|||
30 CONTINUE
|
||||
*
|
||||
IF( I.NE.0 ) THEN
|
||||
ITMP1 = IWORK( INDIBL+I-1 )
|
||||
ITMP1 = IWORK( 1 + I-1 )
|
||||
W( I ) = W( J )
|
||||
IWORK( INDIBL+I-1 ) = IWORK( INDIBL+J-1 )
|
||||
IWORK( 1 + I-1 ) = IWORK( 1 + J-1 )
|
||||
W( J ) = TMP1
|
||||
IWORK( INDIBL+J-1 ) = ITMP1
|
||||
IWORK( 1 + J-1 ) = ITMP1
|
||||
CALL ZSWAP( N, Z( 1, I ), 1, Z( 1, J ), 1 )
|
||||
IF( INFO.NE.0 ) THEN
|
||||
ITMP1 = IFAIL( I )
|
||||
|
|
Loading…
Reference in New Issue