77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 DOUBLE PRECISION ANRM, RCOND, BERR
82 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
83 $ R1( NMAX ), R2( NMAX ), W( 3*NMAX ), X( NMAX ),
84 $ S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
85 $ ERR_BNDS_C( NMAX, 3), PARAMS( 1 )
103 COMMON / infoc / infot, nout, ok, lerr
104 COMMON / srnamc / srnamt
112 WRITE( nout, fmt = * )
119 a( i, j ) = 1.d0 / dble( i+j )
120 af( i, j ) = 1.d0 / dble( i+j )
132 IF( lsamen( 2, c2,
'PO' ) )
THEN
141 CALL dpotrf(
'/', 0, a, 1, info )
142 CALL chkxer(
'DPOTRF', infot, nout, lerr, ok )
144 CALL dpotrf(
'U', -1, a, 1, info )
145 CALL chkxer(
'DPOTRF', infot, nout, lerr, ok )
147 CALL dpotrf(
'U', 2, a, 1, info )
148 CALL chkxer(
'DPOTRF', infot, nout, lerr, ok )
154 CALL dpotf2(
'/', 0, a, 1, info )
155 CALL chkxer(
'DPOTF2', infot, nout, lerr, ok )
157 CALL dpotf2(
'U', -1, a, 1, info )
158 CALL chkxer(
'DPOTF2', infot, nout, lerr, ok )
160 CALL dpotf2(
'U', 2, a, 1, info )
161 CALL chkxer(
'DPOTF2', infot, nout, lerr, ok )
167 CALL dpotri(
'/', 0, a, 1, info )
168 CALL chkxer(
'DPOTRI', infot, nout, lerr, ok )
170 CALL dpotri(
'U', -1, a, 1, info )
171 CALL chkxer(
'DPOTRI', infot, nout, lerr, ok )
173 CALL dpotri(
'U', 2, a, 1, info )
174 CALL chkxer(
'DPOTRI', infot, nout, lerr, ok )
180 CALL dpotrs(
'/', 0, 0, a, 1, b, 1, info )
181 CALL chkxer(
'DPOTRS', infot, nout, lerr, ok )
183 CALL dpotrs(
'U', -1, 0, a, 1, b, 1, info )
184 CALL chkxer(
'DPOTRS', infot, nout, lerr, ok )
186 CALL dpotrs(
'U', 0, -1, a, 1, b, 1, info )
187 CALL chkxer(
'DPOTRS', infot, nout, lerr, ok )
189 CALL dpotrs(
'U', 2, 1, a, 1, b, 2, info )
190 CALL chkxer(
'DPOTRS', infot, nout, lerr, ok )
192 CALL dpotrs(
'U', 2, 1, a, 2, b, 1, info )
193 CALL chkxer(
'DPOTRS', infot, nout, lerr, ok )
199 CALL dporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, iw,
201 CALL chkxer(
'DPORFS', infot, nout, lerr, ok )
203 CALL dporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
205 CALL chkxer(
'DPORFS', infot, nout, lerr, ok )
207 CALL dporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
209 CALL chkxer(
'DPORFS', infot, nout, lerr, ok )
211 CALL dporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, iw,
213 CALL chkxer(
'DPORFS', infot, nout, lerr, ok )
215 CALL dporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, iw,
217 CALL chkxer(
'DPORFS', infot, nout, lerr, ok )
219 CALL dporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, iw,
221 CALL chkxer(
'DPORFS', infot, nout, lerr, ok )
223 CALL dporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, iw,
225 CALL chkxer(
'DPORFS', infot, nout, lerr, ok )
233 CALL dporfsx(
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
234 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
235 $ params, w, iw, info )
236 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
238 CALL dporfsx(
'U',
"/", -1, 0, a, 1, af, 1, s, b, 1, x, 1,
239 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
240 $ params, w, iw, info )
241 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
244 CALL dporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
245 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
246 $ params, w, iw, info )
247 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
249 CALL dporfsx(
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
250 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
251 $ params, w, iw, info )
252 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
254 CALL dporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
255 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
256 $ params, w, iw, info )
257 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
259 CALL dporfsx(
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
260 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
261 $ params, w, iw, info )
262 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
264 CALL dporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
265 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
266 $ params, w, iw, info )
267 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
269 CALL dporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
270 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
271 $ params, w, iw, info )
272 CALL chkxer(
'DPORFSX', infot, nout, lerr, ok )
278 CALL dpocon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
279 CALL chkxer(
'DPOCON', infot, nout, lerr, ok )
281 CALL dpocon(
'U', -1, a, 1, anrm, rcond, w, iw, info )
282 CALL chkxer(
'DPOCON', infot, nout, lerr, ok )
284 CALL dpocon(
'U', 2, a, 1, anrm, rcond, w, iw, info )
285 CALL chkxer(
'DPOCON', infot, nout, lerr, ok )
291 CALL dpoequ( -1, a, 1, r1, rcond, anrm, info )
292 CALL chkxer(
'DPOEQU', infot, nout, lerr, ok )
294 CALL dpoequ( 2, a, 1, r1, rcond, anrm, info )
295 CALL chkxer(
'DPOEQU', infot, nout, lerr, ok )
301 CALL dpoequb( -1, a, 1, r1, rcond, anrm, info )
302 CALL chkxer(
'DPOEQUB', infot, nout, lerr, ok )
304 CALL dpoequb( 2, a, 1, r1, rcond, anrm, info )
305 CALL chkxer(
'DPOEQUB', infot, nout, lerr, ok )
307 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
316 CALL dpptrf(
'/', 0, a, info )
317 CALL chkxer(
'DPPTRF', infot, nout, lerr, ok )
319 CALL dpptrf(
'U', -1, a, info )
320 CALL chkxer(
'DPPTRF', infot, nout, lerr, ok )
326 CALL dpptri(
'/', 0, a, info )
327 CALL chkxer(
'DPPTRI', infot, nout, lerr, ok )
329 CALL dpptri(
'U', -1, a, info )
330 CALL chkxer(
'DPPTRI', infot, nout, lerr, ok )
336 CALL dpptrs(
'/', 0, 0, a, b, 1, info )
337 CALL chkxer(
'DPPTRS', infot, nout, lerr, ok )
339 CALL dpptrs(
'U', -1, 0, a, b, 1, info )
340 CALL chkxer(
'DPPTRS', infot, nout, lerr, ok )
342 CALL dpptrs(
'U', 0, -1, a, b, 1, info )
343 CALL chkxer(
'DPPTRS', infot, nout, lerr, ok )
345 CALL dpptrs(
'U', 2, 1, a, b, 1, info )
346 CALL chkxer(
'DPPTRS', infot, nout, lerr, ok )
352 CALL dpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
354 CALL chkxer(
'DPPRFS', infot, nout, lerr, ok )
356 CALL dpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
358 CALL chkxer(
'DPPRFS', infot, nout, lerr, ok )
360 CALL dpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, iw,
362 CALL chkxer(
'DPPRFS', infot, nout, lerr, ok )
364 CALL dpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, iw,
366 CALL chkxer(
'DPPRFS', infot, nout, lerr, ok )
368 CALL dpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, iw,
370 CALL chkxer(
'DPPRFS', infot, nout, lerr, ok )
376 CALL dppcon(
'/', 0, a, anrm, rcond, w, iw, info )
377 CALL chkxer(
'DPPCON', infot, nout, lerr, ok )
379 CALL dppcon(
'U', -1, a, anrm, rcond, w, iw, info )
380 CALL chkxer(
'DPPCON', infot, nout, lerr, ok )
386 CALL dppequ(
'/', 0, a, r1, rcond, anrm, info )
387 CALL chkxer(
'DPPEQU', infot, nout, lerr, ok )
389 CALL dppequ(
'U', -1, a, r1, rcond, anrm, info )
390 CALL chkxer(
'DPPEQU', infot, nout, lerr, ok )
392 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
401 CALL dpbtrf(
'/', 0, 0, a, 1, info )
402 CALL chkxer(
'DPBTRF', infot, nout, lerr, ok )
404 CALL dpbtrf(
'U', -1, 0, a, 1, info )
405 CALL chkxer(
'DPBTRF', infot, nout, lerr, ok )
407 CALL dpbtrf(
'U', 1, -1, a, 1, info )
408 CALL chkxer(
'DPBTRF', infot, nout, lerr, ok )
410 CALL dpbtrf(
'U', 2, 1, a, 1, info )
411 CALL chkxer(
'DPBTRF', infot, nout, lerr, ok )
417 CALL dpbtf2(
'/', 0, 0, a, 1, info )
418 CALL chkxer(
'DPBTF2', infot, nout, lerr, ok )
420 CALL dpbtf2(
'U', -1, 0, a, 1, info )
421 CALL chkxer(
'DPBTF2', infot, nout, lerr, ok )
423 CALL dpbtf2(
'U', 1, -1, a, 1, info )
424 CALL chkxer(
'DPBTF2', infot, nout, lerr, ok )
426 CALL dpbtf2(
'U', 2, 1, a, 1, info )
427 CALL chkxer(
'DPBTF2', infot, nout, lerr, ok )
433 CALL dpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
434 CALL chkxer(
'DPBTRS', infot, nout, lerr, ok )
436 CALL dpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
437 CALL chkxer(
'DPBTRS', infot, nout, lerr, ok )
439 CALL dpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
440 CALL chkxer(
'DPBTRS', infot, nout, lerr, ok )
442 CALL dpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
443 CALL chkxer(
'DPBTRS', infot, nout, lerr, ok )
445 CALL dpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
446 CALL chkxer(
'DPBTRS', infot, nout, lerr, ok )
448 CALL dpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
449 CALL chkxer(
'DPBTRS', infot, nout, lerr, ok )
455 CALL dpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
457 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
459 CALL dpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
461 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
463 CALL dpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
465 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
467 CALL dpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
469 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
471 CALL dpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
473 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
475 CALL dpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
477 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
479 CALL dpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
481 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
483 CALL dpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
485 CALL chkxer(
'DPBRFS', infot, nout, lerr, ok )
491 CALL dpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, iw, info )
492 CALL chkxer(
'DPBCON', infot, nout, lerr, ok )
494 CALL dpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, iw, info )
495 CALL chkxer(
'DPBCON', infot, nout, lerr, ok )
497 CALL dpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, iw, info )
498 CALL chkxer(
'DPBCON', infot, nout, lerr, ok )
500 CALL dpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, iw, info )
501 CALL chkxer(
'DPBCON', infot, nout, lerr, ok )
507 CALL dpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
508 CALL chkxer(
'DPBEQU', infot, nout, lerr, ok )
510 CALL dpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
511 CALL chkxer(
'DPBEQU', infot, nout, lerr, ok )
513 CALL dpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
514 CALL chkxer(
'DPBEQU', infot, nout, lerr, ok )
516 CALL dpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
517 CALL chkxer(
'DPBEQU', infot, nout, lerr, ok )
522 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine derrpo(path, nunit)
DERRPO
subroutine dpbcon(uplo, n, kd, ab, ldab, anorm, rcond, work, iwork, info)
DPBCON
subroutine dpbequ(uplo, n, kd, ab, ldab, s, scond, amax, info)
DPBEQU
subroutine dpbrfs(uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DPBRFS
subroutine dpbtf2(uplo, n, kd, ab, ldab, info)
DPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine dpbtrf(uplo, n, kd, ab, ldab, info)
DPBTRF
subroutine dpbtrs(uplo, n, kd, nrhs, ab, ldab, b, ldb, info)
DPBTRS
subroutine dpocon(uplo, n, a, lda, anorm, rcond, work, iwork, info)
DPOCON
subroutine dpoequ(n, a, lda, s, scond, amax, info)
DPOEQU
subroutine dpoequb(n, a, lda, s, scond, amax, info)
DPOEQUB
subroutine dporfs(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DPORFS
subroutine dporfsx(uplo, equed, n, nrhs, a, lda, af, ldaf, s, b, ldb, x, ldx, rcond, berr, n_err_bnds, err_bnds_norm, err_bnds_comp, nparams, params, work, iwork, info)
DPORFSX
subroutine dpotf2(uplo, n, a, lda, info)
DPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine dpotrf(uplo, n, a, lda, info)
DPOTRF
subroutine dpotri(uplo, n, a, lda, info)
DPOTRI
subroutine dpotrs(uplo, n, nrhs, a, lda, b, ldb, info)
DPOTRS
subroutine dppcon(uplo, n, ap, anorm, rcond, work, iwork, info)
DPPCON
subroutine dppequ(uplo, n, ap, s, scond, amax, info)
DPPEQU
subroutine dpprfs(uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DPPRFS
subroutine dpptrf(uplo, n, ap, info)
DPPTRF
subroutine dpptri(uplo, n, ap, info)
DPPTRI
subroutine dpptrs(uplo, n, nrhs, ap, b, ldb, info)
DPPTRS