74 DOUBLE PRECISION RCOND, SCALE, SCALES(0)
78 DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX ), R1( NMAX ),
79 $ R2( NMAX ), W( NMAX ), X( NMAX )
97 COMMON / infoc / infot, nout, ok, lerr
98 COMMON / srnamc / srnamt
103 WRITE( nout, fmt = * )
111 IF( lsamen( 2, c2,
'TR' ) )
THEN
119 CALL dtrtri(
'/',
'N', 0, a, 1, info )
120 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
122 CALL dtrtri(
'U',
'/', 0, a, 1, info )
123 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
125 CALL dtrtri(
'U',
'N', -1, a, 1, info )
126 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
128 CALL dtrtri(
'U',
'N', 2, a, 1, info )
129 CALL chkxer(
'DTRTRI', infot, nout, lerr, ok )
135 CALL dtrti2(
'/',
'N', 0, a, 1, info )
136 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
138 CALL dtrti2(
'U',
'/', 0, a, 1, info )
139 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
141 CALL dtrti2(
'U',
'N', -1, a, 1, info )
142 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
144 CALL dtrti2(
'U',
'N', 2, a, 1, info )
145 CALL chkxer(
'DTRTI2', infot, nout, lerr, ok )
151 CALL dtrtrs(
'/',
'N',
'N', 0, 0, a, 1, x, 1, info )
152 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
154 CALL dtrtrs(
'U',
'/',
'N', 0, 0, a, 1, x, 1, info )
155 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
157 CALL dtrtrs(
'U',
'N',
'/', 0, 0, a, 1, x, 1, info )
158 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
160 CALL dtrtrs(
'U',
'N',
'N', -1, 0, a, 1, x, 1, info )
161 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
163 CALL dtrtrs(
'U',
'N',
'N', 0, -1, a, 1, x, 1, info )
164 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
166 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 1, x, 2, info )
167 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
169 CALL dtrtrs(
'U',
'N',
'N', 2, 1, a, 2, x, 1, info )
170 CALL chkxer(
'DTRTRS', infot, nout, lerr, ok )
176 CALL dtrrfs(
'/',
'N',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
178 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
180 CALL dtrrfs(
'U',
'/',
'N', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
182 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
184 CALL dtrrfs(
'U',
'N',
'/', 0, 0, a, 1, b, 1, x, 1, r1, r2, w,
186 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
188 CALL dtrrfs(
'U',
'N',
'N', -1, 0, a, 1, b, 1, x, 1, r1, r2, w,
190 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
192 CALL dtrrfs(
'U',
'N',
'N', 0, -1, a, 1, b, 1, x, 1, r1, r2, w,
194 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
196 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 1, b, 2, x, 2, r1, r2, w,
198 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
200 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 1, x, 2, r1, r2, w,
202 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
204 CALL dtrrfs(
'U',
'N',
'N', 2, 1, a, 2, b, 2, x, 1, r1, r2, w,
206 CALL chkxer(
'DTRRFS', infot, nout, lerr, ok )
212 CALL dtrcon(
'/',
'U',
'N', 0, a, 1, rcond, w, iw, info )
213 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
215 CALL dtrcon(
'1',
'/',
'N', 0, a, 1, rcond, w, iw, info )
216 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
218 CALL dtrcon(
'1',
'U',
'/', 0, a, 1, rcond, w, iw, info )
219 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
221 CALL dtrcon(
'1',
'U',
'N', -1, a, 1, rcond, w, iw, info )
222 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
224 CALL dtrcon(
'1',
'U',
'N', 2, a, 1, rcond, w, iw, info )
225 CALL chkxer(
'DTRCON', infot, nout, lerr, ok )
231 CALL dlatrs(
'/',
'N',
'N',
'N', 0, a, 1, x, scale, w, info )
232 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
234 CALL dlatrs(
'U',
'/',
'N',
'N', 0, a, 1, x, scale, w, info )
235 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
237 CALL dlatrs(
'U',
'N',
'/',
'N', 0, a, 1, x, scale, w, info )
238 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
240 CALL dlatrs(
'U',
'N',
'N',
'/', 0, a, 1, x, scale, w, info )
241 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
243 CALL dlatrs(
'U',
'N',
'N',
'N', -1, a, 1, x, scale, w, info )
244 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
246 CALL dlatrs(
'U',
'N',
'N',
'N', 2, a, 1, x, scale, w, info )
247 CALL chkxer(
'DLATRS', infot, nout, lerr, ok )
253 CALL dlatrs3(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, 1, scales,
254 $ w, w( 2 ), 1, info )
255 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
257 CALL dlatrs3(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, 1, scales,
258 $ w, w( 2 ), 1, info )
259 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
261 CALL dlatrs3(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, 1, scales,
262 $ w, w( 2 ), 1, info )
263 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
265 CALL dlatrs3(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, 1, scales,
266 $ w, w( 2 ), 1, info )
267 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
269 CALL dlatrs3(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, 1, scales,
270 $ w, w( 2 ), 1, info )
271 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
273 CALL dlatrs3(
'U',
'N',
'N',
'N', 0, -1, a, 1, x, 1, scales,
274 $ w, w( 2 ), 1, info )
275 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
277 CALL dlatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 1, x, 1, scales,
278 $ w, w( 2 ), 1, info )
279 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
281 CALL dlatrs3(
'U',
'N',
'N',
'N', 2, 0, a, 2, x, 1, scales,
282 $ w, w( 2 ), 1, info )
283 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
285 CALL dlatrs3(
'U',
'N',
'N',
'N', 1, 0, a, 1, x, 1, scales,
286 $ w, w( 2 ), 0, info )
287 CALL chkxer(
'DLATRS3', infot, nout, lerr, ok )
289 ELSE IF( lsamen( 2, c2,
'TP' ) )
THEN
297 CALL dtptri(
'/',
'N', 0, a, info )
298 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
300 CALL dtptri(
'U',
'/', 0, a, info )
301 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
303 CALL dtptri(
'U',
'N', -1, a, info )
304 CALL chkxer(
'DTPTRI', infot, nout, lerr, ok )
310 CALL dtptrs(
'/',
'N',
'N', 0, 0, a, x, 1, info )
311 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
313 CALL dtptrs(
'U',
'/',
'N', 0, 0, a, x, 1, info )
314 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
316 CALL dtptrs(
'U',
'N',
'/', 0, 0, a, x, 1, info )
317 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
319 CALL dtptrs(
'U',
'N',
'N', -1, 0, a, x, 1, info )
320 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
322 CALL dtptrs(
'U',
'N',
'N', 0, -1, a, x, 1, info )
323 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
325 CALL dtptrs(
'U',
'N',
'N', 2, 1, a, x, 1, info )
326 CALL chkxer(
'DTPTRS', infot, nout, lerr, ok )
332 CALL dtprfs(
'/',
'N',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
334 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
336 CALL dtprfs(
'U',
'/',
'N', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
338 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
340 CALL dtprfs(
'U',
'N',
'/', 0, 0, a, b, 1, x, 1, r1, r2, w, iw,
342 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
344 CALL dtprfs(
'U',
'N',
'N', -1, 0, a, b, 1, x, 1, r1, r2, w,
346 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
348 CALL dtprfs(
'U',
'N',
'N', 0, -1, a, b, 1, x, 1, r1, r2, w,
350 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
352 CALL dtprfs(
'U',
'N',
'N', 2, 1, a, b, 1, x, 2, r1, r2, w, iw,
354 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
356 CALL dtprfs(
'U',
'N',
'N', 2, 1, a, b, 2, x, 1, r1, r2, w, iw,
358 CALL chkxer(
'DTPRFS', infot, nout, lerr, ok )
364 CALL dtpcon(
'/',
'U',
'N', 0, a, rcond, w, iw, info )
365 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
367 CALL dtpcon(
'1',
'/',
'N', 0, a, rcond, w, iw, info )
368 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
370 CALL dtpcon(
'1',
'U',
'/', 0, a, rcond, w, iw, info )
371 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
373 CALL dtpcon(
'1',
'U',
'N', -1, a, rcond, w, iw, info )
374 CALL chkxer(
'DTPCON', infot, nout, lerr, ok )
380 CALL dlatps(
'/',
'N',
'N',
'N', 0, a, x, scale, w, info )
381 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
383 CALL dlatps(
'U',
'/',
'N',
'N', 0, a, x, scale, w, info )
384 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
386 CALL dlatps(
'U',
'N',
'/',
'N', 0, a, x, scale, w, info )
387 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
389 CALL dlatps(
'U',
'N',
'N',
'/', 0, a, x, scale, w, info )
390 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
392 CALL dlatps(
'U',
'N',
'N',
'N', -1, a, x, scale, w, info )
393 CALL chkxer(
'DLATPS', infot, nout, lerr, ok )
395 ELSE IF( lsamen( 2, c2,
'TB' ) )
THEN
403 CALL dtbtrs(
'/',
'N',
'N', 0, 0, 0, a, 1, x, 1, info )
404 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
406 CALL dtbtrs(
'U',
'/',
'N', 0, 0, 0, a, 1, x, 1, info )
407 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
409 CALL dtbtrs(
'U',
'N',
'/', 0, 0, 0, a, 1, x, 1, info )
410 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
412 CALL dtbtrs(
'U',
'N',
'N', -1, 0, 0, a, 1, x, 1, info )
413 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
415 CALL dtbtrs(
'U',
'N',
'N', 0, -1, 0, a, 1, x, 1, info )
416 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
418 CALL dtbtrs(
'U',
'N',
'N', 0, 0, -1, a, 1, x, 1, info )
419 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
421 CALL dtbtrs(
'U',
'N',
'N', 2, 1, 1, a, 1, x, 2, info )
422 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
424 CALL dtbtrs(
'U',
'N',
'N', 2, 0, 1, a, 1, x, 1, info )
425 CALL chkxer(
'DTBTRS', infot, nout, lerr, ok )
431 CALL dtbrfs(
'/',
'N',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
433 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
435 CALL dtbrfs(
'U',
'/',
'N', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
437 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
439 CALL dtbrfs(
'U',
'N',
'/', 0, 0, 0, a, 1, b, 1, x, 1, r1, r2,
441 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
443 CALL dtbrfs(
'U',
'N',
'N', -1, 0, 0, a, 1, b, 1, x, 1, r1, r2,
445 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
447 CALL dtbrfs(
'U',
'N',
'N', 0, -1, 0, a, 1, b, 1, x, 1, r1, r2,
449 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
451 CALL dtbrfs(
'U',
'N',
'N', 0, 0, -1, a, 1, b, 1, x, 1, r1, r2,
453 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
455 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 1, b, 2, x, 2, r1, r2,
457 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
459 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 1, x, 2, r1, r2,
461 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
463 CALL dtbrfs(
'U',
'N',
'N', 2, 1, 1, a, 2, b, 2, x, 1, r1, r2,
465 CALL chkxer(
'DTBRFS', infot, nout, lerr, ok )
471 CALL dtbcon(
'/',
'U',
'N', 0, 0, a, 1, rcond, w, iw, info )
472 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
474 CALL dtbcon(
'1',
'/',
'N', 0, 0, a, 1, rcond, w, iw, info )
475 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
477 CALL dtbcon(
'1',
'U',
'/', 0, 0, a, 1, rcond, w, iw, info )
478 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
480 CALL dtbcon(
'1',
'U',
'N', -1, 0, a, 1, rcond, w, iw, info )
481 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
483 CALL dtbcon(
'1',
'U',
'N', 0, -1, a, 1, rcond, w, iw, info )
484 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
486 CALL dtbcon(
'1',
'U',
'N', 2, 1, a, 1, rcond, w, iw, info )
487 CALL chkxer(
'DTBCON', infot, nout, lerr, ok )
493 CALL dlatbs(
'/',
'N',
'N',
'N', 0, 0, a, 1, x, scale, w,
495 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
497 CALL dlatbs(
'U',
'/',
'N',
'N', 0, 0, a, 1, x, scale, w,
499 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
501 CALL dlatbs(
'U',
'N',
'/',
'N', 0, 0, a, 1, x, scale, w,
503 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
505 CALL dlatbs(
'U',
'N',
'N',
'/', 0, 0, a, 1, x, scale, w,
507 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
509 CALL dlatbs(
'U',
'N',
'N',
'N', -1, 0, a, 1, x, scale, w,
511 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
513 CALL dlatbs(
'U',
'N',
'N',
'N', 1, -1, a, 1, x, scale, w,
515 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
517 CALL dlatbs(
'U',
'N',
'N',
'N', 2, 1, a, 1, x, scale, w,
519 CALL chkxer(
'DLATBS', infot, nout, lerr, ok )
524 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
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 dlatrs3(uplo, trans, diag, normin, n, nrhs, a, lda, x, ldx, scale, cnorm, work, lwork, info)
DLATRS3 solves a triangular system of equations with the scale factors set to prevent overflow.
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 dtbcon(norm, uplo, diag, n, kd, ab, ldab, rcond, work, iwork, info)
DTBCON
subroutine dtbrfs(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DTBRFS
subroutine dtbtrs(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info)
DTBTRS
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 dtptri(uplo, diag, n, ap, info)
DTPTRI
subroutine dtptrs(uplo, trans, diag, n, nrhs, ap, b, ldb, info)
DTPTRS
subroutine dtrcon(norm, uplo, diag, n, a, lda, rcond, work, iwork, info)
DTRCON
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 dtrtri(uplo, diag, n, a, lda, info)
DTRTRI
subroutine dtrtrs(uplo, trans, diag, n, nrhs, a, lda, b, ldb, info)
DTRTRS