74 DOUBLE PRECISION RCOND, SCALE
78 DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX ), R1( NMAX ),
79 $ R2( NMAX ), W( NMAX ), X( NMAX )
96 COMMON / infoc / infot, nout, ok, lerr
97 COMMON / srnamc / srnamt
102 WRITE( nout, fmt = * )
110 IF( lsamen( 2, c2,
'TR' ) )
THEN
118 CALL dtrtri(
'/',
'N', 0, a, 1, info )
119 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
121 CALL dtrtri(
'U',
'/', 0, a, 1, info )
122 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
124 CALL dtrtri(
'U',
'N', -1, a, 1, info )
125 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
127 CALL dtrtri(
'U',
'N', 2, a, 1, info )
128 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
134 CALL dtrti2(
'/',
'N', 0, a, 1, info )
135 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
137 CALL dtrti2(
'U',
'/', 0, a, 1, info )
138 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
140 CALL dtrti2(
'U',
'N', -1, a, 1, info )
141 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
143 CALL dtrti2(
'U',
'N', 2, a, 1, info )
144 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
150 CALL dtrtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
151 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
153 CALL dtrtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
154 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
156 CALL dtrtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
157 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
159 CALL dtrtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
160 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
162 CALL dtrtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
163 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
165 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 1, x, 2, info )
166 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
168 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 2, x, 1, info )
169 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
175 CALL dtrrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
177 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
179 CALL dtrrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
181 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
183 CALL dtrrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
185 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
187 CALL dtrrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
189 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
191 CALL dtrrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
193 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
195 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
197 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
199 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
201 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
203 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
205 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
211 CALL dtrcon(
'/',
'U',
'N', 0, a, 1, rcond, w, iw, info )
212 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
214 CALL dtrcon(
'1',
'/',
'N', 0, a, 1, rcond, w, iw, info )
215 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
217 CALL dtrcon(
'1',
'U',
'/', 0, a, 1, rcond, w, iw, info )
218 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
220 CALL dtrcon(
'1',
'U',
'N', -1, a, 1, rcond, w, iw, info )
221 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
223 CALL dtrcon(
'1',
'U',
'N', 2, a, 1, rcond, w, iw, info )
224 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
230 CALL dlatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, w, info )
231 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
233 CALL dlatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, w, info )
234 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
236 CALL dlatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, w, info )
237 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
239 CALL dlatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, w, info )
240 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
242 CALL dlatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, w, info )
243 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
245 CALL dlatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, w, info )
246 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
248 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
256 CALL dtptri(
'/',
'N', 0, a, info )
257 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
259 CALL dtptri(
'U',
'/', 0, a, info )
260 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
262 CALL dtptri(
'U',
'N', -1, a, info )
263 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
269 CALL dtptrs(
'/',
'N',
'N', 0, 0, a, x, 1, info )
270 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
272 CALL dtptrs(
'U',
'/',
'N', 0, 0, a, x, 1, info )
273 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
275 CALL dtptrs(
'U',
'N',
'/', 0, 0, a, x, 1, info )
276 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
278 CALL dtptrs(
'U',
'N',
'N', -1, 0, a, x, 1, info )
279 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
281 CALL dtptrs(
'U',
'N',
'N', 0, -1, a, x, 1, info )
282 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
284 CALL dtptrs(
'U',
'N',
'N', 2, 1, a, x, 1, info )
285 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
291 CALL dtprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
293 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
295 CALL dtprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
297 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
299 CALL dtprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
301 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
303 CALL dtprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
305 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
307 CALL dtprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
309 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
311 CALL dtprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, iw,
313 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
315 CALL dtprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, iw,
317 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
323 CALL dtpcon(
'/',
'U',
'N', 0, a, rcond, w, iw, info )
324 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
326 CALL dtpcon(
'1',
'/',
'N', 0, a, rcond, w, iw, info )
327 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
329 CALL dtpcon(
'1',
'U',
'/', 0, a, rcond, w, iw, info )
330 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
332 CALL dtpcon(
'1',
'U',
'N', -1, a, rcond, w, iw, info )
333 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
339 CALL dlatps(
'/',
'N',
'N',
'N', 0, a, x, scale, w, info )
340 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
342 CALL dlatps(
'U',
'/',
'N',
'N', 0, a, x, scale, w, info )
343 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
345 CALL dlatps(
'U',
'N',
'/',
'N', 0, a, x, scale, w, info )
346 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
348 CALL dlatps(
'U',
'N',
'N',
'/', 0, a, x, scale, w, info )
349 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
351 CALL dlatps(
'U',
'N',
'N',
'N', -1, a, x, scale, w, info )
352 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
354 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
362 CALL dtbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
363 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
365 CALL dtbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
366 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
368 CALL dtbtrs(
'U',
'N',
'/', 0, 0, 0, a, 1, x, 1, info )
369 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
371 CALL dtbtrs(
'U',
'N',
'N', -1, 0, 0, a, 1, x, 1, info )
372 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
374 CALL dtbtrs(
'U',
'N',
'N', 0, -1, 0, a, 1, x, 1, info )
375 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
377 CALL dtbtrs(
'U',
'N',
'N', 0, 0, -1, a, 1, x, 1, info )
378 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
380 CALL dtbtrs(
'U',
'N',
'N', 2, 1, 1, a, 1, x, 2, info )
381 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
383 CALL dtbtrs(
'U',
'N',
'N', 2, 0, 1, a, 1, x, 1, info )
384 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
390 CALL dtbrfs(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
392 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
394 CALL dtbrfs(
'U',
'/',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
396 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
398 CALL dtbrfs(
'U',
'N',
'/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
400 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
402 CALL dtbrfs(
'U',
'N',
'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
404 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
406 CALL dtbrfs(
'U',
'N',
'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
408 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
410 CALL dtbrfs(
'U',
'N',
'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
412 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
414 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
416 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
418 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
420 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
422 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
424 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
430 CALL dtbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, iw, info )
431 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
433 CALL dtbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, iw, info )
434 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
436 CALL dtbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, iw, info )
437 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
439 CALL dtbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, iw, info )
440 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
442 CALL dtbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, iw, info )
443 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
445 CALL dtbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, iw, info )
446 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
452 CALL dlatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, w,
454 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
456 CALL dlatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, w,
458 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
460 CALL dlatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, w,
462 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
464 CALL dlatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, w,
466 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
468 CALL dlatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, w,
470 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
472 CALL dlatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, w,
474 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
476 CALL dlatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, w,
478 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
483 CALL alaesm( path, ok, nout )
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine derrtr(PATH, NUNIT)
DERRTR
subroutine dlatbs(UPLO, TRANS, DIAG, NORMIN, N, KD, AB, LDAB, X, SCALE, CNORM, INFO)
DLATBS solves a triangular banded system of equations.
subroutine dlatps(UPLO, TRANS, DIAG, NORMIN, N, AP, X, SCALE, CNORM, INFO)
DLATPS solves a triangular system of equations with the matrix held in packed storage.
subroutine dlatrs(UPLO, TRANS, DIAG, NORMIN, N, A, LDA, X, SCALE, CNORM, INFO)
DLATRS solves a triangular system of equations with the scale factor set to prevent overflow.
subroutine dtptrs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, INFO)
DTPTRS
subroutine dtptri(UPLO, DIAG, N, AP, INFO)
DTPTRI
subroutine dtrrfs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DTRRFS
subroutine dtrti2(UPLO, DIAG, N, A, LDA, INFO)
DTRTI2 computes the inverse of a triangular matrix (unblocked algorithm).
subroutine dtrtrs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, INFO)
DTRTRS
subroutine dtbcon(NORM, UPLO, DIAG, N, KD, AB, LDAB, RCOND, WORK, IWORK, INFO)
DTBCON
subroutine dtrtri(UPLO, DIAG, N, A, LDA, INFO)
DTRTRI
subroutine dtbtrs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
DTBTRS
subroutine dtbrfs(UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DTBRFS
subroutine dtpcon(NORM, UPLO, DIAG, N, AP, RCOND, WORK, IWORK, INFO)
DTPCON
subroutine dtprfs(UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DTPRFS
subroutine dtrcon(NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, IWORK, INFO)
DTRCON