73 DOUBLE PRECISION RCOND, SCALE
76 DOUBLE PRECISION R1( NMAX ), R2( NMAX ), RW( NMAX )
77 COMPLEX*16 A( NMAX, NMAX ), B( NMAX ), W( NMAX ),
95 COMMON / infoc / infot, nout, ok, lerr
96 COMMON / srnamc / srnamt
101 WRITE( nout, fmt = * )
111 IF( lsamen( 2, c2,
'TR' ) )
THEN
117 CALL ztrtri(
'/',
'N', 0, a, 1, info )
118 CALL chkxer(
'ZTRTRI', infot, nout, lerr, ok )
120 CALL ztrtri(
'U',
'/', 0, a, 1, info )
121 CALL chkxer(
'ZTRTRI', infot, nout, lerr, ok )
123 CALL ztrtri(
'U',
'N', -1, a, 1, info )
124 CALL chkxer(
'ZTRTRI', infot, nout, lerr, ok )
126 CALL ztrtri(
'U',
'N', 2, a, 1, info )
127 CALL chkxer(
'ZTRTRI', infot, nout, lerr, ok )
133 CALL ztrti2(
'/',
'N', 0, a, 1, info )
134 CALL chkxer(
'ZTRTI2', infot, nout, lerr, ok )
136 CALL ztrti2(
'U',
'/', 0, a, 1, info )
137 CALL chkxer(
'ZTRTI2', infot, nout, lerr, ok )
139 CALL ztrti2(
'U',
'N', -1, a, 1, info )
140 CALL chkxer(
'ZTRTI2', infot, nout, lerr, ok )
142 CALL ztrti2(
'U',
'N', 2, a, 1, info )
143 CALL chkxer(
'ZTRTI2', infot, nout, lerr, ok )
150 CALL ztrtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
151 CALL chkxer(
'ZTRTRS', infot, nout, lerr, ok )
153 CALL ztrtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
154 CALL chkxer(
'ZTRTRS', infot, nout, lerr, ok )
156 CALL ztrtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
157 CALL chkxer(
'ZTRTRS', infot, nout, lerr, ok )
159 CALL ztrtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
160 CALL chkxer(
'ZTRTRS', infot, nout, lerr, ok )
162 CALL ztrtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
163 CALL chkxer(
'ZTRTRS', infot, nout, lerr, ok )
170 CALL ztrrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
172 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
174 CALL ztrrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
176 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
178 CALL ztrrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
180 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
182 CALL ztrrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
184 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
186 CALL ztrrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
188 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
190 CALL ztrrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
192 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
194 CALL ztrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
196 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
198 CALL ztrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
200 CALL chkxer(
'ZTRRFS', infot, nout, lerr, ok )
206 CALL ztrcon(
'/',
'U',
'N', 0, a, 1, rcond, w, rw, info )
207 CALL chkxer(
'ZTRCON', infot, nout, lerr, ok )
209 CALL ztrcon(
'1',
'/',
'N', 0, a, 1, rcond, w, rw, info )
210 CALL chkxer(
'ZTRCON', infot, nout, lerr, ok )
212 CALL ztrcon(
'1',
'U',
'/', 0, a, 1, rcond, w, rw, info )
213 CALL chkxer(
'ZTRCON', infot, nout, lerr, ok )
215 CALL ztrcon(
'1',
'U',
'N', -1, a, 1, rcond, w, rw, info )
216 CALL chkxer(
'ZTRCON', infot, nout, lerr, ok )
218 CALL ztrcon(
'1',
'U',
'N', 2, a, 1, rcond, w, rw, info )
219 CALL chkxer(
'ZTRCON', infot, nout, lerr, ok )
225 CALL zlatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, rw, info )
226 CALL chkxer(
'ZLATRS', infot, nout, lerr, ok )
228 CALL zlatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, rw, info )
229 CALL chkxer(
'ZLATRS', infot, nout, lerr, ok )
231 CALL zlatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, rw, info )
232 CALL chkxer(
'ZLATRS', infot, nout, lerr, ok )
234 CALL zlatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, rw, info )
235 CALL chkxer(
'ZLATRS', infot, nout, lerr, ok )
237 CALL zlatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, rw, info )
238 CALL chkxer(
'ZLATRS', infot, nout, lerr, ok )
240 CALL zlatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, rw, info )
241 CALL chkxer(
'ZLATRS', infot, nout, lerr, ok )
245 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
251 CALL ztptri(
'/',
'N', 0, a, info )
252 CALL chkxer(
'ZTPTRI', infot, nout, lerr, ok )
254 CALL ztptri(
'U',
'/', 0, a, info )
255 CALL chkxer(
'ZTPTRI', infot, nout, lerr, ok )
257 CALL ztptri(
'U',
'N', -1, a, info )
258 CALL chkxer(
'ZTPTRI', infot, nout, lerr, ok )
264 CALL ztptrs(
'/',
'N',
'N', 0, 0, a, x, 1, info )
265 CALL chkxer(
'ZTPTRS', infot, nout, lerr, ok )
267 CALL ztptrs(
'U',
'/',
'N', 0, 0, a, x, 1, info )
268 CALL chkxer(
'ZTPTRS', infot, nout, lerr, ok )
270 CALL ztptrs(
'U',
'N',
'/', 0, 0, a, x, 1, info )
271 CALL chkxer(
'ZTPTRS', infot, nout, lerr, ok )
273 CALL ztptrs(
'U',
'N',
'N', -1, 0, a, x, 1, info )
274 CALL chkxer(
'ZTPTRS', infot, nout, lerr, ok )
276 CALL ztptrs(
'U',
'N',
'N', 0, -1, a, x, 1, info )
277 CALL chkxer(
'ZTPTRS', infot, nout, lerr, ok )
279 CALL ztptrs(
'U',
'N',
'N', 2, 1, a, x, 1, info )
280 CALL chkxer(
'ZTPTRS', infot, nout, lerr, ok )
286 CALL ztprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
288 CALL chkxer(
'ZTPRFS', infot, nout, lerr, ok )
290 CALL ztprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
292 CALL chkxer(
'ZTPRFS', infot, nout, lerr, ok )
294 CALL ztprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
296 CALL chkxer(
'ZTPRFS', infot, nout, lerr, ok )
298 CALL ztprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
300 CALL chkxer(
'ZTPRFS', infot, nout, lerr, ok )
302 CALL ztprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
304 CALL chkxer(
'ZTPRFS', infot, nout, lerr, ok )
306 CALL ztprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, rw,
308 CALL chkxer(
'ZTPRFS', infot, nout, lerr, ok )
310 CALL ztprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, rw,
312 CALL chkxer(
'ZTPRFS', infot, nout, lerr, ok )
318 CALL ztpcon(
'/',
'U',
'N', 0, a, rcond, w, rw, info )
319 CALL chkxer(
'ZTPCON', infot, nout, lerr, ok )
321 CALL ztpcon(
'1',
'/',
'N', 0, a, rcond, w, rw, info )
322 CALL chkxer(
'ZTPCON', infot, nout, lerr, ok )
324 CALL ztpcon(
'1',
'U',
'/', 0, a, rcond, w, rw, info )
325 CALL chkxer(
'ZTPCON', infot, nout, lerr, ok )
327 CALL ztpcon(
'1',
'U',
'N', -1, a, rcond, w, rw, info )
328 CALL chkxer(
'ZTPCON', infot, nout, lerr, ok )
334 CALL zlatps(
'/',
'N',
'N',
'N', 0, a, x, scale, rw, info )
335 CALL chkxer(
'ZLATPS', infot, nout, lerr, ok )
337 CALL zlatps(
'U',
'/',
'N',
'N', 0, a, x, scale, rw, info )
338 CALL chkxer(
'ZLATPS', infot, nout, lerr, ok )
340 CALL zlatps(
'U',
'N',
'/',
'N', 0, a, x, scale, rw, info )
341 CALL chkxer(
'ZLATPS', infot, nout, lerr, ok )
343 CALL zlatps(
'U',
'N',
'N',
'/', 0, a, x, scale, rw, info )
344 CALL chkxer(
'ZLATPS', infot, nout, lerr, ok )
346 CALL zlatps(
'U',
'N',
'N',
'N', -1, a, x, scale, rw, info )
347 CALL chkxer(
'ZLATPS', infot, nout, lerr, ok )
351 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
357 CALL ztbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
358 CALL chkxer(
'ZTBTRS', infot, nout, lerr, ok )
360 CALL ztbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
361 CALL chkxer(
'ZTBTRS', infot, nout, lerr, ok )
363 CALL ztbtrs(
'U',
'N', '/
', 0, 0, 0, A, 1, X, 1, INFO )
364 CALL CHKXER( 'ztbtrs', INFOT, NOUT, LERR, OK )
366 CALL ZTBTRS( 'u
', 'n
', 'n
', -1, 0, 0, A, 1, X, 1, INFO )
367 CALL CHKXER( 'ztbtrs', INFOT, NOUT, LERR, OK )
369 CALL ZTBTRS( 'u
', 'n
', 'n
', 0, -1, 0, A, 1, X, 1, INFO )
370 CALL CHKXER( 'ztbtrs', INFOT, NOUT, LERR, OK )
372 CALL ZTBTRS( 'u
', 'n
', 'n
', 0, 0, -1, A, 1, X, 1, INFO )
373 CALL CHKXER( 'ztbtrs', INFOT, NOUT, LERR, OK )
375 CALL ZTBTRS( 'u
', 'n
', 'n
', 2, 1, 1, A, 1, X, 2, INFO )
376 CALL CHKXER( 'ztbtrs', INFOT, NOUT, LERR, OK )
378 CALL ZTBTRS( 'u
', 'n
', 'n
', 2, 0, 1, A, 1, X, 1, INFO )
379 CALL CHKXER( 'ztbtrs', INFOT, NOUT, LERR, OK )
385 CALL ZTBRFS( '/
', 'n
', 'n
', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
387 CALL CHKXER( 'ztbrfs', INFOT, NOUT, LERR, OK )
389 CALL ZTBRFS( 'u
', '/
', 'n
', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
391 CALL CHKXER( 'ztbrfs', INFOT, NOUT, LERR, OK )
393 CALL ZTBRFS( 'u
', 'n
', '/
', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
395 CALL CHKXER( 'ztbrfs', INFOT, NOUT, LERR, OK )
397 CALL ZTBRFS( 'u
', 'n
', 'n
', -1, 0, 0, A, 1, B, 1, X, 1, R1, R2,
399 CALL CHKXER( 'ztbrfs', INFOT, NOUT, LERR, OK )
401 CALL ZTBRFS( 'u
', 'n
', 'n
', 0, -1, 0, A, 1, B, 1, X, 1, R1, R2,
403 CALL CHKXER( 'ztbrfs', infot, nout, lerr, ok )
405 CALL ztbrfs(
'U',
'N',
'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
407 CALL chkxer(
'ZTBRFS', infot, nout, lerr, ok )
409 CALL ztbrfs(
'U',
'N',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
411 CALL chkxer(
'ZTBRFS', infot, nout, lerr, ok )
413 CALL ztbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
415 CALL chkxer(
'ZTBRFS', infot, nout, lerr, ok )
417 CALL ztbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
419 CALL chkxer(
'ZTBRFS', infot, nout, lerr, ok )
425 CALL ztbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, rw, info )
426 CALL chkxer(
'ZTBCON', infot, nout, lerr, ok )
428 CALL ztbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, rw, info )
429 CALL chkxer(
'ZTBCON', infot, nout, lerr, ok )
431 CALL ztbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, rw, info )
432 CALL chkxer(
'ZTBCON', infot, nout, lerr, ok )
434 CALL ztbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, rw, info )
435 CALL chkxer(
'ZTBCON', infot, nout, lerr, ok )
437 CALL ztbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, rw, info )
438 CALL chkxer(
'ZTBCON', infot, nout, lerr, ok )
440 CALL ztbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, rw, info )
441 CALL chkxer(
'ZTBCON', infot, nout, lerr, ok )
447 CALL zlatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, rw,
449 CALL chkxer(
'ZLATBS', infot, nout, lerr, ok )
451 CALL zlatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, rw,
453 CALL chkxer(
'ZLATBS', infot, nout, lerr, ok )
455 CALL zlatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, rw,
457 CALL chkxer(
'ZLATBS', infot, nout, lerr, ok )
459 CALL zlatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, rw,
461 CALL chkxer(
'ZLATBS', infot, nout, lerr, ok )
463 CALL zlatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, rw,
465 CALL chkxer(
'ZLATBS', infot, nout, lerr, ok )
467 CALL zlatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, rw,
469 CALL chkxer(
'ZLATBS', infot, nout, lerr, ok )
471 CALL zlatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, rw,
473 CALL chkxer(
'ZLATBS', infot, nout, lerr, ok )
478 CALL alaesm( path, ok, nout )