69 parameter( nmax = 3, lw = nmax*nmax )
73 INTEGER I, IHI, ILO, INFO, J, M, NT
77 INTEGER IFAILL( NMAX ), IFAILR( NMAX )
78 DOUBLE PRECISION RW( NMAX ), S( NMAX )
79 COMPLEX*16 A( NMAX, NMAX ), C( NMAX, NMAX ), TAU( NMAX ),
80 $ VL( NMAX, NMAX ), VR( NMAX, NMAX ), W( LW ),
100 COMMON / infoc / infot, nout, ok, lerr
101 COMMON / srnamc / srnamt
106 WRITE( nout, fmt = * )
113 a( i, j ) = 1.d0 / dble( i+j )
122 IF( lsamen( 2, c2,
'HS' ) )
THEN
128 CALL zgebal(
'/', 0, a, 1, ilo, ihi, s, info )
129 CALL chkxer(
'ZGEBAL', infot, nout, lerr, ok )
131 CALL zgebal(
'N', -1, a, 1, ilo, ihi, s, info )
132 CALL chkxer(
'ZGEBAL', infot, nout, lerr, ok )
134 CALL zgebal(
'N', 2, a, 1, ilo, ihi, s, info )
142 CALL ZGEBAK( '/
', 'r
', 0, 1, 0, S, 0, A, 1, INFO )
143 CALL CHKXER( 'zgebak', INFOT, NOUT, LERR, OK )
145 CALL ZGEBAK( 'n
', '/
', 0, 1, 0, S, 0, A, 1, INFO )
146 CALL CHKXER( 'zgebak', INFOT, NOUT, LERR, OK )
148 CALL ZGEBAK( 'n',
'R', -1, 1, 0, s, 0, a, 1, info )
149 CALL chkxer(
'ZGEBAK', infot, nout, lerr, ok )
151 CALL zgebak(
'N',
'R', 0, 0, 0, s, 0, a, 1, info )
152 CALL chkxer(
'ZGEBAK', infot, nout, lerr, ok )
154 CALL zgebak(
'N',
'R', 0, 2, 0, s, 0, a, 1, info )
155 CALL chkxer(
'ZGEBAK', infot, nout, lerr, ok )
157 CALL zgebak(
'N',
'R', 2, 2, 1, s, 0, a, 2, info )
158 CALL chkxer(
'ZGEBAK', infot, nout, lerr, ok )
160 CALL zgebak(
'N',
'R', 0, 1, 1, s, 0, a, 1, info )
161 CALL chkxer(
'ZGEBAK', infot, nout, lerr, ok )
163 CALL zgebak(
'N',
'R', 0, 1, 0, s, -1, a, 1, info )
164 CALL chkxer(
'ZGEBAK', infot, nout, lerr, ok )
166 CALL zgebak(
'N',
'R', 2, 1, 2, s, 0, a, 1, info )
167 CALL chkxer(
'ZGEBAK', infot, nout, lerr, ok )
174 CALL zgehrd( -1, 1, 1, a, 1, tau, w, 1, info )
175 CALL chkxer(
'ZGEHRD', infot, nout, lerr, ok )
177 CALL zgehrd( 0, 0, 0, a, 1, tau, w, 1, info )
178 CALL chkxer(
'ZGEHRD', infot, nout, lerr, ok )
180 CALL zgehrd( 0, 2, 0, a, 1, tau, w, 1, info )
181 CALL chkxer(
'ZGEHRD', infot, nout, lerr, ok )
183 CALL zgehrd( 1, 1, 0, a, 1, tau, w, 1, info )
184 CALL chkxer(
'ZGEHRD', infot, nout, lerr, ok )
186 CALL zgehrd( 0, 1, 1, a, 1, tau, w, 1, info )
187 CALL chkxer(
'ZGEHRD', infot, nout, lerr, ok )
189 CALL zgehrd( 2, 1, 1, a, 1, tau, w, 2, info )
190 CALL chkxer(
'ZGEHRD', infot, nout, lerr, ok )
192 CALL zgehrd( 2, 1, 2, a, 2, tau, w, 1, info )
193 CALL chkxer(
'ZGEHRD', infot, nout, lerr, ok )
200 CALL zunghr( -1, 1, 1, a, 1, tau, w, 1, info )
201 CALL chkxer(
'ZUNGHR', infot, nout, lerr, ok )
203 CALL zunghr( 0, 0, 0, a, 1, tau, w, 1, info )
204 CALL chkxer(
'ZUNGHR', infot, nout, lerr, ok )
206 CALL zunghr( 0, 2, 0, a, 1, tau, w, 1, info )
207 CALL chkxer(
'ZUNGHR', infot, nout, lerr, ok )
209 CALL zunghr( 1, 1, 0, a, 1, tau, w, 1, info )
210 CALL chkxer(
'ZUNGHR', infot, nout, lerr, ok )
212 CALL zunghr( 0, 1, 1, a, 1, tau, w, 1, info )
215 CALL ZUNGHR( 2, 1, 1, A, 1, TAU, W, 1, INFO )
216 CALL CHKXER( 'zunghr', INFOT, NOUT, LERR, OK )
218 CALL ZUNGHR( 3, 1, 3, A, 3, TAU, W, 1, INFO )
219 CALL CHKXER( 'zunghr', INFOT, NOUT, LERR, OK )
226 CALL ZUNMHR( '/
', 'n
', 0, 0, 1, 0, A, 1, TAU, C, 1, W, 1,
228 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
230 CALL ZUNMHR( 'l
', '/
', 0, 0, 1, 0, A, 1, TAU, C, 1, W, 1,
232 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
234 CALL ZUNMHR( 'l
', 'n
', -1, 0, 1, 0, A, 1, TAU, C, 1, W, 1,
236 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
238 CALL ZUNMHR( 'l
', 'n
', 0, -1, 1, 0, A, 1, TAU, C, 1, W, 1,
240 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
242 CALL ZUNMHR( 'l
', 'n
', 0, 0, 0, 0, A, 1, TAU, C, 1, W, 1,
244 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
246 CALL ZUNMHR( 'l
', 'n
', 0, 0, 2, 0, A, 1, TAU, C, 1, W, 1,
248 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
250 CALL ZUNMHR( 'l
', 'n
', 1, 2, 2, 1, A, 1, TAU, C, 1, W, 2,
252 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
254 CALL ZUNMHR( 'r
', 'n
', 2, 1, 2, 1, A, 1, TAU, C, 2, W, 2,
256 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
258 CALL ZUNMHR( 'l
', 'n
', 1, 1, 1, 0, A, 1, TAU, C, 1, W, 1,
260 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
262 CALL ZUNMHR( 'l
', 'n
', 0, 1, 1, 1, A, 1, TAU, C, 1, W, 1,
264 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
266 CALL ZUNMHR( 'r
', 'n
', 1, 0, 1, 1, A, 1, TAU, C, 1, W, 1,
268 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
270 CALL ZUNMHR( 'l
', 'n
', 2, 1, 1, 1, A, 1, TAU, C, 2, W, 1,
272 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
274 CALL ZUNMHR( 'r
', 'n
', 1, 2, 1, 1, A, 1, TAU, C, 1, W, 1,
276 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
278 CALL ZUNMHR( 'l
', 'n
', 2, 1, 1, 1, A, 2, TAU, C, 1, W, 1,
280 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
282 CALL ZUNMHR( 'l
', 'n
', 1, 2, 1, 1, A, 1, TAU, C, 1, W, 1,
284 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
286 CALL ZUNMHR( 'r
', 'n
', 2, 1, 1, 1, A, 1, TAU, C, 2, W, 1,
288 CALL CHKXER( 'zunmhr', INFOT, NOUT, LERR, OK )
295 CALL ZHSEQR( '/
', 'n
', 0, 1, 0, A, 1, X, C, 1, W, 1, INFO )
296 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
298 CALL ZHSEQR( 'e
', '/
', 0, 1, 0, A, 1, X, C, 1, W, 1, INFO )
299 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
301 CALL ZHSEQR( 'e
', 'n
', -1, 1, 0, A, 1, X, C, 1, W, 1, INFO )
302 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
304 CALL ZHSEQR( 'e
', 'n
', 0, 0, 0, A, 1, X, C, 1, W, 1, INFO )
305 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
307 CALL ZHSEQR( 'e
', 'n
', 0, 2, 0, A, 1, X, C, 1, W, 1, INFO )
308 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
310 CALL ZHSEQR( 'e
', 'n
', 1, 1, 0, A, 1, X, C, 1, W, 1, INFO )
311 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
313 CALL ZHSEQR( 'e
', 'n
', 1, 1, 2, A, 1, X, C, 1, W, 1, INFO )
314 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
316 CALL ZHSEQR( 'e
', 'n
', 2, 1, 2, A, 1, X, C, 2, W, 1, INFO )
317 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
319 CALL ZHSEQR( 'e
', 'v
', 2, 1, 2, A, 2, X, C, 1, W, 1, INFO )
320 CALL CHKXER( 'zhseqr', INFOT, NOUT, LERR, OK )
327 CALL ZHSEIN( '/
', 'n
', 'n
', SEL, 0, A, 1, X, VL, 1, VR, 1, 0,
328 $ M, W, RW, IFAILL, IFAILR, INFO )
329 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
331 CALL ZHSEIN( 'r
', '/
', 'n
', SEL, 0, A, 1, X, VL, 1, VR, 1, 0,
332 $ M, W, RW, IFAILL, IFAILR, INFO )
333 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
335 CALL ZHSEIN( 'r
', 'n
', '/
', SEL, 0, A, 1, X, VL, 1, VR, 1, 0,
336 $ M, W, RW, IFAILL, IFAILR, INFO )
337 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
339 CALL ZHSEIN( 'r
', 'n
', 'n
', SEL, -1, A, 1, X, VL, 1, VR, 1, 0,
340 $ M, W, RW, IFAILL, IFAILR, INFO )
341 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
343 CALL ZHSEIN( 'r
', 'n
', 'n
', SEL, 2, A, 1, X, VL, 1, VR, 2, 4,
344 $ M, W, RW, IFAILL, IFAILR, INFO )
345 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
347 CALL ZHSEIN( 'l
', 'n
', 'n
', SEL, 2, A, 2, X, VL, 1, VR, 1, 4,
348 $ M, W, RW, IFAILL, IFAILR, INFO )
349 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
351 CALL ZHSEIN( 'r
', 'n
', 'n
', SEL, 2, A, 2, X, VL, 1, VR, 1, 4,
352 $ M, W, RW, IFAILL, IFAILR, INFO )
353 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
355 CALL ZHSEIN( 'r
', 'n
', 'n
', SEL, 2, A, 2, X, VL, 1, VR, 2, 1,
356 $ M, W, RW, IFAILL, IFAILR, INFO )
357 CALL CHKXER( 'zhsein', INFOT, NOUT, LERR, OK )
364 CALL ZTREVC( '/
', 'a
', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W, RW,
366 CALL CHKXER( 'ztrevc', INFOT, NOUT, LERR, OK )
368 CALL ZTREVC( 'l
', '/
', SEL, 0, A, 1, VL, 1, VR, 1, 0, M, W, RW,
370 CALL CHKXER( 'ztrevc', INFOT, NOUT, LERR, OK )
372 CALL ZTREVC( 'l
', 'a
', SEL, -1, A, 1, VL, 1, VR, 1, 0, M, W,
374 CALL CHKXER( 'ztrevc', INFOT, NOUT, LERR, OK )
376 CALL ZTREVC( 'l
', 'a
', SEL, 2, A, 1, VL, 2, VR, 1, 4, M, W, RW,
378 CALL CHKXER( 'ztrevc', INFOT, NOUT, LERR, OK )
380 CALL ZTREVC( 'l
', 'a
', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W, RW,
382 CALL CHKXER( 'ztrevc', INFOT, NOUT, LERR, OK )
384 CALL ZTREVC( 'r
', 'a
', SEL, 2, A, 2, VL, 1, VR, 1, 4, M, W, RW,
386 CALL CHKXER( 'ztrevc', INFOT, NOUT, LERR, OK )
388 CALL ZTREVC( 'l
', 'a
', SEL, 2, A, 2, VL, 2, VR, 1, 1, M, W, RW,
390 CALL CHKXER( 'ztrevc', INFOT, NOUT, LERR, OK )
397 WRITE( NOUT, FMT = 9999 )PATH, NT
399 WRITE( NOUT, FMT = 9998 )PATH
402 9999 FORMAT( 1X, A3, ' routines passed
the tests of
the error exits
',
403 $ ' (
', I3, ' tests done)
' )
404 9998 FORMAT( ' ***
', A3, ' routines failed
the tests of
the error
',