76 REAL R1( NMAX ), R2( NMAX ), RW( NMAX )
77 COMPLEX 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 ctrtri(
'/',
'N', 0, a, 1, info )
118 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
120 CALL ctrtri(
'U',
'/', 0, a, 1, info )
121 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
123 CALL ctrtri(
'U',
'N', -1, a, 1, info )
124 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
126 CALL ctrtri(
'U',
'N', 2, a, 1, info )
127 CALL chkxer(
'CTRTRI', infot, nout, lerr, ok )
133 CALL ctrti2(
'/',
'N', 0, a, 1, info )
134 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
136 CALL ctrti2(
'U',
'/', 0, a, 1, info )
137 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
139 CALL ctrti2(
'U',
'N', -1, a, 1, info )
140 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
142 CALL ctrti2(
'U',
'N', 2, a, 1, info )
143 CALL chkxer(
'CTRTI2', infot, nout, lerr, ok )
150 CALL ctrtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
151 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
153 CALL ctrtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
154 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
156 CALL ctrtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
157 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
159 CALL ctrtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
160 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
162 CALL ctrtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
163 CALL chkxer(
'CTRTRS', infot, nout, lerr, ok )
170 CALL ctrrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
172 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
174 CALL ctrrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
176 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
178 CALL ctrrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
180 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
182 CALL ctrrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
184 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
186 CALL ctrrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
188 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
190 CALL ctrrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
192 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
194 CALL ctrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
196 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
198 CALL ctrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
200 CALL chkxer(
'CTRRFS', infot, nout, lerr, ok )
206 CALL ctrcon(
'/',
'U',
'N', 0, a, 1, rcond, w, rw, info )
207 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
209 CALL ctrcon(
'1',
'/',
'N', 0, a, 1, rcond, w, rw, info )
210 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
212 CALL ctrcon(
'1',
'U',
'/', 0, a, 1, rcond, w, rw, info )
213 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
215 CALL ctrcon(
'1',
'U',
'N', -1, a, 1, rcond, w, rw, info )
216 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
218 CALL ctrcon(
'1',
'U',
'N', 2, a, 1, rcond, w, rw, info )
219 CALL chkxer(
'CTRCON', infot, nout, lerr, ok )
225 CALL clatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, rw, info )
226 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
228 CALL clatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, rw, info )
229 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
231 CALL clatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, rw, info )
232 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
234 CALL clatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, rw, info )
235 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
237 CALL clatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, rw, info )
238 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
240 CALL clatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, rw, info )
241 CALL chkxer(
'CLATRS', infot, nout, lerr, ok )
245 ELSE IF(
lsamen( 2, c2,
'TP' ) )
THEN
251 CALL ctptri(
'/',
'N', 0, a, info )
252 CALL chkxer(
'CTPTRI', infot, nout, lerr, ok )
254 CALL ctptri(
'U',
'/', 0, a, info )
255 CALL chkxer(
'CTPTRI', infot, nout, lerr, ok )
257 CALL ctptri(
'U',
'N', -1, a, info )
258 CALL chkxer(
'CTPTRI', infot, nout, lerr, ok )
264 CALL ctptrs(
'/',
'N',
'N', 0, 0, a, x, 1, info )
265 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
267 CALL ctptrs(
'U',
'/',
'N', 0, 0, a, x, 1, info )
268 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
270 CALL ctptrs(
'U',
'N',
'/', 0, 0, a, x, 1, info )
271 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
273 CALL ctptrs(
'U',
'N',
'N', -1, 0, a, x, 1, info )
274 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
276 CALL ctptrs(
'U',
'N',
'N', 0, -1, a, x, 1, info )
277 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
279 CALL ctptrs(
'U',
'N',
'N', 2, 1, a, x, 1, info )
280 CALL chkxer(
'CTPTRS', infot, nout, lerr, ok )
286 CALL ctprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
288 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
290 CALL ctprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
292 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
294 CALL ctprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, rw,
296 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
298 CALL ctprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
300 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
302 CALL ctprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
304 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
306 CALL ctprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, rw,
308 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
310 CALL ctprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, rw,
312 CALL chkxer(
'CTPRFS', infot, nout, lerr, ok )
318 CALL ctpcon(
'/',
'U',
'N', 0, a, rcond, w, rw, info )
319 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
321 CALL ctpcon(
'1',
'/',
'N', 0, a, rcond, w, rw, info )
322 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
324 CALL ctpcon(
'1',
'U',
'/', 0, a, rcond, w, rw, info )
325 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
327 CALL ctpcon(
'1',
'U',
'N', -1, a, rcond, w, rw, info )
328 CALL chkxer(
'CTPCON', infot, nout, lerr, ok )
334 CALL clatps(
'/',
'N',
'N',
'N', 0, a, x, scale, rw, info )
335 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
337 CALL clatps(
'U',
'/',
'N',
'N', 0, a, x, scale, rw, info )
338 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
340 CALL clatps(
'U',
'N',
'/',
'N', 0, a, x, scale, rw, info )
341 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
343 CALL clatps(
'U',
'N',
'N',
'/', 0, a, x, scale, rw, info )
344 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
346 CALL clatps(
'U',
'N',
'N',
'N', -1, a, x, scale, rw, info )
347 CALL chkxer(
'CLATPS', infot, nout, lerr, ok )
351 ELSE IF(
lsamen( 2, c2,
'TB' ) )
THEN
357 CALL ctbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
358 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
360 CALL ctbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
361 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
363 CALL ctbtrs(
'U',
'N',
'/', 0, 0, 0, a, 1, x, 1, info )
364 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
366 CALL ctbtrs(
'U',
'N',
'N', -1, 0, 0, a, 1, x, 1, info )
367 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
369 CALL ctbtrs(
'U',
'N',
'N', 0, -1, 0, a, 1, x, 1, info )
370 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
372 CALL ctbtrs(
'U',
'N',
'N', 0, 0, -1, a, 1, x, 1, info )
373 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
375 CALL ctbtrs(
'U',
'N',
'N', 2, 1, 1, a, 1, x, 2, info )
376 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
378 CALL ctbtrs(
'U',
'N',
'N', 2, 0, 1, a, 1, x, 1, info )
379 CALL chkxer(
'CTBTRS', infot, nout, lerr, ok )
385 CALL ctbrfs(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
387 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
389 CALL ctbrfs(
'U',
'/',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
391 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
393 CALL ctbrfs(
'U',
'N',
'/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
395 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
397 CALL ctbrfs(
'U',
'N',
'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
399 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
401 CALL ctbrfs(
'U',
'N',
'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
403 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
405 CALL ctbrfs(
'U',
'N',
'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
407 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
409 CALL ctbrfs(
'U',
'N',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
411 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
413 CALL ctbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
415 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
417 CALL ctbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
419 CALL chkxer(
'CTBRFS', infot, nout, lerr, ok )
425 CALL ctbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, rw, info )
426 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
428 CALL ctbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, rw, info )
429 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
431 CALL ctbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, rw, info )
432 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
434 CALL ctbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, rw, info )
435 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
437 CALL ctbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, rw, info )
438 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
440 CALL ctbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, rw, info )
441 CALL chkxer(
'CTBCON', infot, nout, lerr, ok )
447 CALL clatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, rw,
449 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
451 CALL clatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, rw,
453 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
455 CALL clatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, rw,
457 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
459 CALL clatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, rw,
461 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
463 CALL clatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, rw,
465 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
467 CALL clatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, rw,
469 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
471 CALL clatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, rw,
473 CALL chkxer(
'CLATBS', infot, nout, lerr, ok )
478 CALL alaesm( path, ok, nout )
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
logical function lsamen(N, CA, CB)
LSAMEN
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine clatrs(UPLO, TRANS, DIAG, NORMIN, N, A, LDA, X, SCALE, CNORM, INFO)
CLATRS solves a triangular system of equations with the scale factor set to prevent overflow.
subroutine clatps(UPLO, TRANS, DIAG, NORMIN, N, AP, X, SCALE, CNORM, INFO)
CLATPS solves a triangular system of equations with the matrix held in packed storage.
subroutine clatbs(UPLO, TRANS, DIAG, NORMIN, N, KD, AB, LDAB, X, SCALE, CNORM, INFO)
CLATBS solves a triangular banded system of equations.
subroutine ctbrfs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CTBRFS
subroutine ctptri(UPLO, DIAG, N, AP, INFO)
CTPTRI
subroutine ctrtrs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, INFO)
CTRTRS
subroutine ctpcon(NORM, UPLO, DIAG, N, AP, RCOND, WORK, RWORK, INFO)
CTPCON
subroutine ctrcon(NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, RWORK, INFO)
CTRCON
subroutine ctrrfs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CTRRFS
subroutine ctbcon(NORM, UPLO, DIAG, N, KD, AB, LDAB, RCOND, WORK, RWORK, INFO)
CTBCON
subroutine ctptrs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, INFO)
CTPTRS
subroutine ctprfs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CTPRFS
subroutine ctrtri(UPLO, DIAG, N, A, LDA, INFO)
CTRTRI
subroutine ctbtrs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
CTBTRS
subroutine ctrti2(UPLO, DIAG, N, A, LDA, INFO)
CTRTI2 computes the inverse of a triangular matrix (unblocked algorithm).