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 )
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine zerrtr(PATH, NUNIT)
ZERRTR
subroutine zlatps(UPLO, TRANS, DIAG, NORMIN, N, AP, X, SCALE, CNORM, INFO)
ZLATPS solves a triangular system of equations with the matrix held in packed storage.
subroutine zlatrs(UPLO, TRANS, DIAG, NORMIN, N, A, LDA, X, SCALE, CNORM, INFO)
ZLATRS solves a triangular system of equations with the scale factor set to prevent overflow.
subroutine zlatbs(UPLO, TRANS, DIAG, NORMIN, N, KD, AB, LDAB, X, SCALE, CNORM, INFO)
ZLATBS solves a triangular banded system of equations.
subroutine ztrtrs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, INFO)
ZTRTRS
subroutine ztrcon(NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, RWORK, INFO)
ZTRCON
subroutine ztrti2(UPLO, DIAG, N, A, LDA, INFO)
ZTRTI2 computes the inverse of a triangular matrix (unblocked algorithm).
subroutine ztrrfs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZTRRFS
subroutine ztbrfs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZTBRFS
subroutine ztprfs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZTPRFS
subroutine ztptri(UPLO, DIAG, N, AP, INFO)
ZTPTRI
subroutine ztbtrs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
ZTBTRS
subroutine ztbcon(NORM, UPLO, DIAG, N, KD, AB, LDAB, RCOND, WORK, RWORK, INFO)
ZTBCON
subroutine ztpcon(NORM, UPLO, DIAG, N, AP, RCOND, WORK, RWORK, INFO)
ZTPCON
subroutine ztptrs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, INFO)
ZTPTRS
subroutine ztrtri(UPLO, DIAG, N, A, LDA, INFO)
ZTRTRI