74 SUBROUTINE zchkec( THRESH, TSTERR, NIN, NOUT )
83 DOUBLE PRECISION THRESH
91 INTEGER KTREXC, KTRSEN, KTRSNA, KTRSYL, KTRSYL3,
92 $ LTREXC, LTRSYL, NTESTS, NTREXC, NTRSYL
93 DOUBLE PRECISION EPS, RTREXC, SFMIN
96 INTEGER FTRSYL( 3 ), ITRSYL( 2 ), LTRSEN( 3 ),
97 $ LTRSNA( 3 ), NTRSEN( 3 ), NTRSNA( 3 )
98 DOUBLE PRECISION RTRSEN( 3 ), RTRSNA( 3 ), RTRSYL( 2 )
104 DOUBLE PRECISION DLAMCH
109 path( 1: 1 ) =
'Zomplex precision'
112 sfmin = dlamch(
'S' )
113 WRITE( nout, fmt = 9994 )
114 WRITE( nout, fmt = 9993 )eps, sfmin
115 WRITE( nout, fmt = 9992 )thresh
120 $
CALL zerrec( path, nout )
123 CALL zget35( rtrsyl( 1 ), ltrsyl, ntrsyl, ktrsyl, nin )
124 IF( rtrsyl( 1 ).GT.thresh )
THEN
126 WRITE( nout, fmt = 9999 )rtrsyl( 1 ), ltrsyl, ntrsyl, ktrsyl
129 CALL zsyl01( thresh, ftrsyl, rtrsyl, itrsyl, ktrsyl3 )
130 IF( ftrsyl( 1 ).GT.0 )
THEN
132 WRITE( nout, fmt = 9970 )ftrsyl( 1 ), rtrsyl( 1 ), thresh
134 IF( ftrsyl( 2 ).GT.0 )
THEN
136 WRITE( nout, fmt = 9971 )ftrsyl( 2 ), rtrsyl( 2 ), thresh
138 IF( ftrsyl( 3 ).GT.0 )
THEN
140 WRITE( nout, fmt = 9972 )ftrsyl( 3 )
143 CALL zget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
144 IF( rtrexc.GT.thresh .OR. ntrexc.GT.0 )
THEN
146 WRITE( nout, fmt = 9998 )rtrexc, ltrexc, ntrexc, ktrexc
149 CALL zget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
150 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
151 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
154 WRITE( nout, fmt = 9997 )rtrsna, ltrsna, ntrsna, ktrsna
157 CALL zget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
158 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
159 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
162 WRITE( nout, fmt = 9996 )rtrsen, ltrsen, ntrsen, ktrsen
165 ntests = ktrsyl + ktrsyl3 + ktrexc + ktrsna + ktrsen
167 $
WRITE( nout, fmt = 9995 )path, ntests
169 9999
FORMAT(
' Error in ZTRSYL: RMAX =', d12.3, /
' LMAX = ', i8,
170 $
' NINFO=', i8,
' KNT=', i8 )
171 9998
FORMAT(
' Error in ZTREXC: RMAX =', d12.3, /
' LMAX = ', i8,
172 $
' NINFO=', i8,
' KNT=', i8 )
173 9997
FORMAT(
' Error in ZTRSNA: RMAX =', 3d12.3, /
' LMAX = ', 3i8,
174 $
' NINFO=', 3i8,
' KNT=', i8 )
175 9996
FORMAT(
' Error in ZTRSEN: RMAX =', 3d12.3, /
' LMAX = ', 3i8,
176 $
' NINFO=', 3i8,
' KNT=', i8 )
177 9995
FORMAT( / 1x,
'All tests for ', a3,
178 $
' routines passed the threshold ( ', i6,
' tests run)' )
179 9994
FORMAT(
' Tests of the Nonsymmetric eigenproblem condition',
180 $
' estimation routines', /
' ZTRSYL, ZTREXC, ZTRSNA, ZTRSEN',
182 9993
FORMAT(
' Relative machine precision (EPS) = ', d16.6,
183 $ /
' Safe minimum (SFMIN) = ', d16.6, / )
184 9992
FORMAT(
' Routines pass computational tests if test ratio is ',
185 $
'less than', f8.2, / / )
186 9970
FORMAT(
'Error in ZTRSYL: ', i8,
' tests fail the threshold.', /
187 $
'Maximum test ratio =', d12.3,
' threshold =', d12.3 )
188 9971
FORMAT(
'Error in ZTRSYL3: ', i8,
' tests fail the threshold.', /
189 $
'Maximum test ratio =', d12.3,
' threshold =', d12.3 )
190 9972
FORMAT(
'ZTRSYL and ZTRSYL3 compute an inconsistent scale ',
191 $
'factor in ', i8,
' tests.')