84 SUBROUTINE zget36( RMAX, LMAX, NINFO, KNT, NIN )
91 INTEGER KNT, LMAX, NIN, NINFO
98 DOUBLE PRECISION ZERO, ONE
99 parameter( zero = 0.0d+0, one = 1.0d+0 )
100 COMPLEX*16 CZERO, CONE
101 parameter( czero = ( 0.0d+0, 0.0d+0 ),
102 $ cone = ( 1.0d+0, 0.0d+0 ) )
104 parameter( ldt = 10, lwork = 2*ldt*ldt )
107 INTEGER I, IFST, ILST, INFO1, INFO2, J, N
108 DOUBLE PRECISION EPS, RES
112 DOUBLE PRECISION RESULT( 2 ), RWORK( LDT )
113 COMPLEX*16 DIAG( LDT ), Q( LDT, LDT ), T1( LDT, LDT ),
114 $ T2( LDT, ), TMP( LDT, LDT ), WORK( LWORK )
117 DOUBLE PRECISION DLAMCH
134 READ( nin, fmt = * )n, ifst, ilst
139 READ( nin, fmt = * )( tmp( i, j ), j = 1, n )
141 CALL zlacpy(
'F', n, n, tmp, ldt, t1, ldt )
142 CALL zlacpy(
'F', n, n, tmp, ldt, t2, ldt )
147 CALL zlaset(
'Full', n, n, czero, cone, q, ldt )
148 CALL ztrexc( 'n
', N, T1, LDT, Q, LDT, IFST, ILST, INFO1 )
151.EQ..AND..NE.
IF( IJ Q( I, J )CONE )
152 $ RES = RES + ONE / EPS
153.NE..AND..NE.
IF( IJ Q( I, J )CZERO )
154 $ RES = RES + ONE / EPS
160 CALL ZLASET( 'full
', N, N, CZERO, CONE, Q, LDT )
161 CALL ZTREXC( 'v
', N, T2, LDT, Q, LDT, IFST, ILST, INFO2 )
167.NE.
IF( T1( I, J )T2( I, J ) )
168 $ RES = RES + ONE / EPS
171.NE..OR..NE.
IF( INFO10 INFO20 )
174 $ RES = RES + ONE / EPS
178 CALL ZCOPY( N, TMP, LDT+1, DIAG, 1 )
179.LT.
IF( IFSTILST ) THEN
180 DO 70 I = IFST + 1, ILST
182 DIAG( I ) = DIAG( I-1 )
185.GT.
ELSE IF( IFSTILST ) THEN
186 DO 80 I = IFST - 1, ILST, -1
188 DIAG( I+1 ) = DIAG( I )
193.NE.
IF( T2( I, I )DIAG( I ) )
194 $ RES = RES + ONE / EPS
199 CALL ZHST01( N, 1, N, TMP, LDT, T2, LDT, Q, LDT, WORK, LWORK,
201 RES = RES + RESULT( 1 ) + RESULT( 2 )
207.NE.
IF( T2( I, J )CZERO )
208 $ RES = RES + ONE / EPS
211.GT.
IF( RESRMAX ) THEN
subroutine zlacpy(uplo, m, n, a, lda, b, ldb)
ZLACPY copies all or part of one two-dimensional array to another.
subroutine zlaset(uplo, m, n, alpha, beta, a, lda)
ZLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values.
subroutine ztrexc(compq, n, t, ldt, q, ldq, ifst, ilst, info)
ZTREXC
subroutine zhst01(n, ilo, ihi, a, lda, h, ldh, q, ldq, work, lwork, rwork, result)
ZHST01