77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 DOUBLE PRECISION ANRM, RCOND, BERR
81 INTEGER IP( NMAX ), IW( NMAX )
82 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
83 $ E( NMAX ), R1( NMAX ), R2( NMAX ), W( 3*NMAX ),
84 $ X( NMAX ), S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
85 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
105 COMMON / infoc / infot, nout, ok, lerr
106 COMMON / srnamc / srnamt
114 WRITE( nout, fmt = * )
121 a( i, j ) = 1.d0 / dble( i+j )
122 af( i, j ) = 1.d0 / dble( i+j )
138 IF( lsamen( 2, c2,
'SY' ) )
THEN
148 CALL dsytrf(
'/', 0, a, 1, ip, w, 1, info )
149 CALL chkxer(
'DSYTRF', infot, nout, lerr, ok )
151 CALL dsytrf(
'U', -1, a, 1, ip, w, 1, info )
152 CALL chkxer(
'DSYTRF', infot, nout, lerr, ok )
154 CALL dsytrf(
'U', 2, a, 1, ip, w, 4, info )
155 CALL chkxer(
'DSYTRF', infot, nout, lerr, ok )
157 CALL dsytrf(
'U', 0, a, 1, ip, w, 0, info )
158 CALL chkxer(
'DSYTRF', infot, nout, lerr, ok )
160 CALL dsytrf(
'U', 0, a, 1, ip, w, -2, info )
161 CALL chkxer(
'DSYTRF', infot, nout, lerr, ok )
167 CALL dsytf2(
'/', 0, a, 1, ip, info )
168 CALL chkxer(
'DSYTF2', infot, nout, lerr, ok )
170 CALL dsytf2(
'U', -1, a, 1, ip, info )
171 CALL chkxer(
'DSYTF2', infot, nout, lerr, ok )
173 CALL dsytf2(
'U', 2, a, 1, ip, info )
174 CALL chkxer(
'DSYTF2', infot, nout, lerr, ok )
180 CALL dsytri(
'/', 0, a, 1, ip, w, info )
181 CALL chkxer(
'DSYTRI', infot, nout, lerr, ok )
183 CALL dsytri(
'U', -1, a, 1, ip, w, info )
184 CALL chkxer(
'DSYTRI', infot, nout, lerr, ok )
186 CALL dsytri(
'U', 2, a, 1, ip, w, info )
187 CALL chkxer(
'DSYTRI', infot, nout, lerr, ok )
193 CALL dsytri2(
'/', 0, a, 1, ip, w, iw, info )
194 CALL chkxer(
'DSYTRI2', infot, nout, lerr, ok )
196 CALL dsytri2(
'U', -1, a, 1, ip, w, iw, info )
197 CALL chkxer(
'DSYTRI2', infot, nout, lerr, ok )
199 CALL dsytri2(
'U', 2, a, 1, ip, w, iw, info )
200 CALL chkxer(
'DSYTRI2', infot, nout, lerr, ok )
206 CALL dsytri2x(
'/', 0, a, 1, ip, w, 1, info )
207 CALL chkxer(
'DSYTRI2X', infot, nout, lerr, ok )
209 CALL dsytri2x(
'U', -1, a, 1, ip, w, 1, info )
210 CALL chkxer(
'DSYTRI2X', infot, nout, lerr, ok )
212 CALL dsytri2x(
'U', 2, a, 1, ip, w, 1, info )
213 CALL chkxer(
'DSYTRI2X', infot, nout, lerr, ok )
219 CALL dsytrs(
'/', 0, 0, a, 1, ip, b, 1, info )
220 CALL chkxer(
'DSYTRS', infot, nout, lerr, ok )
222 CALL dsytrs(
'U', -1, 0, a, 1, ip, b, 1, info )
223 CALL chkxer(
'DSYTRS', infot, nout, lerr, ok )
225 CALL dsytrs(
'U', 0, -1, a, 1, ip, b, 1, info )
226 CALL chkxer(
'DSYTRS', infot, nout, lerr, ok )
228 CALL dsytrs(
'U', 2, 1, a, 1, ip, b, 2, info )
229 CALL chkxer(
'DSYTRS', infot, nout, lerr, ok )
231 CALL dsytrs(
'U', 2, 1, a, 2, ip, b, 1, info )
232 CALL chkxer(
'DSYTRS', infot, nout, lerr, ok )
238 CALL dsyrfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
240 CALL chkxer(
'DSYRFS', infot, nout, lerr, ok )
242 CALL dsyrfs(
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
244 CALL chkxer(
'DSYRFS', infot, nout, lerr, ok )
246 CALL dsyrfs(
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
248 CALL chkxer(
'DSYRFS', infot, nout, lerr, ok )
250 CALL dsyrfs(
'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
252 CALL chkxer(
'DSYRFS', infot, nout, lerr, ok )
254 CALL dsyrfs(
'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
256 CALL chkxer(
'DSYRFS', infot, nout, lerr, ok )
258 CALL dsyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
260 CALL chkxer(
'DSYRFS', infot, nout, lerr, ok )
262 CALL dsyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
264 CALL chkxer(
'DSYRFS', infot, nout, lerr, ok )
272 CALL dsyrfsx(
'/', eq, 0, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
273 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
274 $ params, w, iw, info )
275 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
277 CALL dsyrfsx(
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
278 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
279 $ params, w, iw, info )
280 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
283 CALL dsyrfsx(
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
284 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
285 $ params, w, iw, info )
286 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
288 CALL dsyrfsx(
'U', eq, 0, -1, a, 1, af, 1, ip, s, b, 1, x, 1,
289 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
290 $ params, w, iw, info )
291 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
293 CALL dsyrfsx(
'U', eq, 2, 1, a, 1, af, 2, ip, s, b, 2, x, 2,
294 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
295 $ params, w, iw, info )
296 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
298 CALL dsyrfsx(
'U', eq, 2, 1, a, 2, af, 1, ip, s, b, 2, x, 2,
299 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
300 $ params, w, iw, info )
301 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
303 CALL dsyrfsx(
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 1, x, 2,
304 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
305 $ params, w, iw, info )
306 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
308 CALL dsyrfsx(
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 2, x, 1,
309 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
310 $ params, w, iw, info )
311 CALL chkxer(
'DSYRFSX', infot, nout, lerr, ok )
317 CALL dsycon(
'/', 0, a, 1, ip, anrm, rcond, w, iw, info )
318 CALL chkxer(
'DSYCON', infot, nout, lerr, ok )
320 CALL dsycon(
'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
321 CALL chkxer(
'DSYCON', infot, nout, lerr, ok )
323 CALL dsycon(
'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
324 CALL chkxer(
'DSYCON', infot, nout, lerr, ok )
326 CALL dsycon(
'U', 1, a, 1, ip, -1.0d0, rcond, w, iw, info )
327 CALL chkxer(
'DSYCON', infot, nout, lerr, ok )
329 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
337 srnamt =
'DSYTRF_ROOK'
340 CALL chkxer(
'DSYTRF_ROOK', infot, nout, lerr, ok )
343 CALL chkxer(
'DSYTRF_ROOK', infot, nout, lerr, ok )
346 CALL chkxer(
'DSYTRF_ROOK', infot, nout, lerr, ok )
349 CALL chkxer(
'DSYTRF_ROOK', infot, nout, lerr, ok )
352 CALL chkxer(
'DSYTRF_ROOK', infot, nout, lerr, ok )
356 srnamt =
'DSYTF2_ROOK'
359 CALL chkxer(
'DSYTF2_ROOK', infot, nout, lerr, ok )
362 CALL chkxer(
'DSYTF2_ROOK', infot, nout, lerr, ok )
365 CALL chkxer(
'DSYTF2_ROOK', infot, nout, lerr, ok )
369 srnamt =
'DSYTRI_ROOK'
372 CALL chkxer(
'DSYTRI_ROOK', infot, nout, lerr, ok )
375 CALL chkxer(
'DSYTRI_ROOK', infot, nout, lerr, ok )
378 CALL chkxer(
'DSYTRI_ROOK', infot, nout, lerr, ok )
382 srnamt =
'DSYTRS_ROOK'
384 CALL dsytrs_rook(
'/', 0, 0, a, 1, ip, b, 1, info )
385 CALL chkxer(
'DSYTRS_ROOK', infot, nout, lerr, ok )
387 CALL dsytrs_rook(
'U', -1, 0, a, 1, ip, b, 1, info )
388 CALL chkxer(
'DSYTRS_ROOK', infot, nout, lerr, ok )
390 CALL dsytrs_rook(
'U', 0, -1, a, 1, ip, b, 1, info )
391 CALL chkxer(
'DSYTRS_ROOK', infot, nout, lerr, ok )
393 CALL dsytrs_rook(
'U', 2, 1, a, 1, ip, b, 2, info )
394 CALL chkxer(
'DSYTRS_ROOK', infot, nout, lerr, ok )
396 CALL dsytrs_rook(
'U', 2, 1, a, 2, ip, b, 1, info )
397 CALL chkxer(
'DSYTRS_ROOK', infot, nout, lerr, ok )
401 srnamt =
'DSYCON_ROOK'
403 CALL dsycon_rook(
'/', 0, a, 1, ip, anrm, rcond, w, iw, info )
404 CALL chkxer(
'DSYCON_ROOK', infot, nout, lerr, ok )
406 CALL dsycon_rook(
'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
407 CALL chkxer(
'DSYCON_ROOK', infot, nout, lerr, ok )
409 CALL dsycon_rook(
'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
410 CALL chkxer(
'DSYCON_ROOK', infot, nout, lerr, ok )
412 CALL dsycon_rook(
'U', 1, a, 1, ip, -1.0d0, rcond, w, iw, info)
413 CALL chkxer(
'DSYCON_ROOK', infot, nout, lerr, ok )
415 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
429 CALL dsytrf_rk(
'/', 0, a, 1, e, ip, w, 1, info )
430 CALL chkxer(
'DSYTRF_RK', infot, nout, lerr, ok )
432 CALL dsytrf_rk(
'U', -1, a, 1, e, ip, w, 1, info )
433 CALL chkxer(
'DSYTRF_RK', infot, nout, lerr, ok )
435 CALL dsytrf_rk(
'U', 2, a, 1, e, ip, w, 1, info )
436 CALL chkxer(
'DSYTRF_RK', infot, nout, lerr, ok )
438 CALL dsytrf_rk(
'U', 0, a, 1, e, ip, w, 0, info )
439 CALL chkxer(
'DSYTRF_RK', infot, nout, lerr, ok )
441 CALL dsytrf_rk(
'U', 0, a, 1, e, ip, w, -2, info )
442 CALL chkxer(
'DSYTRF_RK', infot, nout, lerr, ok )
448 CALL dsytf2_rk(
'/', 0, a, 1, e, ip, info )
449 CALL chkxer(
'DSYTF2_RK', infot, nout, lerr, ok )
451 CALL dsytf2_rk(
'U', -1, a, 1, e, ip, info )
452 CALL chkxer(
'DSYTF2_RK', infot, nout, lerr, ok )
454 CALL dsytf2_rk(
'U', 2, a, 1, e, ip, info )
455 CALL chkxer(
'DSYTF2_RK', infot, nout, lerr, ok )
461 CALL dsytri_3(
'/', 0, a, 1, e, ip, w, 1, info )
462 CALL chkxer(
'DSYTRI_3', infot, nout, lerr, ok )
464 CALL dsytri_3(
'U', -1, a, 1, e, ip, w, 1, info )
465 CALL chkxer(
'DSYTRI_3', infot, nout, lerr, ok )
467 CALL dsytri_3(
'U', 2, a, 1, e, ip, w, 1, info )
468 CALL chkxer(
'DSYTRI_3', infot, nout, lerr, ok )
470 CALL dsytri_3(
'U', 0, a, 1, e, ip, w, 0, info )
471 CALL chkxer(
'DSYTRI_3', infot, nout, lerr, ok )
473 CALL dsytri_3(
'U', 0, a, 1, e, ip, w, -2, info )
474 CALL chkxer(
'DSYTRI_3', infot, nout, lerr, ok )
480 CALL dsytri_3x(
'/', 0, a, 1, e, ip, w, 1, info )
481 CALL chkxer(
'DSYTRI_3X', infot, nout, lerr, ok )
483 CALL dsytri_3x(
'U', -1, a, 1, e, ip, w, 1, info )
484 CALL chkxer(
'DSYTRI_3X', infot, nout, lerr, ok )
486 CALL dsytri_3x(
'U', 2, a, 1, e, ip, w, 1, info )
487 CALL chkxer(
'DSYTRI_3X', infot, nout, lerr, ok )
493 CALL dsytrs_3(
'/', 0, 0, a, 1, e, ip, b, 1, info )
494 CALL chkxer(
'DSYTRS_3', infot, nout, lerr, ok )
496 CALL dsytrs_3(
'U', -1, 0, a, 1, e, ip, b, 1, info )
497 CALL chkxer(
'DSYTRS_3', infot, nout, lerr, ok )
499 CALL dsytrs_3(
'U', 0, -1, a, 1, e, ip, b, 1, info )
500 CALL chkxer(
'DSYTRS_3', infot, nout, lerr, ok )
502 CALL dsytrs_3(
'U', 2, 1, a, 1, e, ip, b, 2, info )
503 CALL chkxer(
'DSYTRS_3', infot, nout, lerr, ok )
505 CALL dsytrs_3(
'U', 2, 1, a, 2, e, ip, b, 1, info )
506 CALL chkxer(
'DSYTRS_3', infot, nout, lerr, ok )
512 CALL dsycon_3(
'/', 0, a, 1, e, ip, anrm, rcond, w, iw,
514 CALL chkxer(
'DSYCON_3', infot, nout, lerr, ok )
516 CALL dsycon_3(
'U', -1, a, 1, e, ip, anrm, rcond, w, iw,
518 CALL chkxer(
'DSYCON_3', infot, nout, lerr, ok )
520 CALL dsycon_3(
'U', 2, a, 1, e, ip, anrm, rcond, w, iw,
522 CALL chkxer(
'DSYCON_3', infot, nout, lerr, ok )
524 CALL dsycon_3(
'U', 1, a, 1, e, ip, -1.0d0, rcond, w, iw,
526 CALL chkxer(
'DSYCON_3', infot, nout, lerr, ok )
528 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
538 CALL dsptrf(
'/', 0, a, ip, info )
539 CALL chkxer(
'DSPTRF', infot, nout, lerr, ok )
541 CALL dsptrf(
'U', -1, a, ip, info )
542 CALL chkxer(
'DSPTRF', infot, nout, lerr, ok )
548 CALL dsptri(
'/', 0, a, ip, w, info )
549 CALL chkxer(
'DSPTRI', infot, nout, lerr, ok )
551 CALL dsptri(
'U', -1, a, ip, w, info )
552 CALL chkxer(
'DSPTRI', infot, nout, lerr, ok )
558 CALL dsptrs(
'/', 0, 0, a, ip, b, 1, info )
559 CALL chkxer(
'DSPTRS', infot, nout, lerr, ok )
561 CALL dsptrs(
'U', -1, 0, a, ip, b, 1, info )
562 CALL chkxer(
'DSPTRS', infot, nout, lerr, ok )
564 CALL dsptrs(
'U', 0, -1, a, ip, b, 1, info )
565 CALL chkxer(
'DSPTRS', infot, nout, lerr, ok )
567 CALL dsptrs(
'U', 2, 1, a, ip, b, 1, info )
568 CALL chkxer(
'DSPTRS', infot, nout, lerr, ok )
574 CALL dsprfs(
'/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
576 CALL chkxer(
'DSPRFS', infot, nout, lerr, ok )
578 CALL dsprfs(
'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
580 CALL chkxer(
'DSPRFS', infot, nout, lerr, ok )
582 CALL dsprfs(
'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
584 CALL chkxer(
'DSPRFS', infot, nout, lerr, ok )
586 CALL dsprfs(
'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, iw,
588 CALL chkxer(
'DSPRFS', infot, nout, lerr, ok )
590 CALL dsprfs(
'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, iw,
592 CALL chkxer(
'DSPRFS', infot, nout, lerr, ok )
598 CALL dspcon(
'/', 0, a, ip, anrm, rcond, w, iw, info )
599 CALL chkxer(
'DSPCON', infot, nout, lerr, ok )
601 CALL dspcon(
'U', -1, a, ip, anrm, rcond, w, iw, info )
602 CALL chkxer(
'DSPCON', infot, nout, lerr, ok )
604 CALL dspcon(
'U', 1, a, ip, -1.0d0, rcond, w, iw, info )
605 CALL chkxer(
'DSPCON', infot, nout, lerr, ok )
610 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine derrsy(path, nunit)
DERRSY
subroutine dsycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, iwork, info)
DSYCON_3
subroutine dsycon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
DSYCON_ROOK
subroutine dsycon(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
DSYCON
subroutine dsyrfs(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DSYRFS
subroutine dsyrfsx(uplo, equed, n, nrhs, a, lda, af, ldaf, ipiv, s, b, ldb, x, ldx, rcond, berr, n_err_bnds, err_bnds_norm, err_bnds_comp, nparams, params, work, iwork, info)
DSYRFSX
subroutine dsytf2_rk(uplo, n, a, lda, e, ipiv, info)
DSYTF2_RK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-Ka...
subroutine dsytf2_rook(uplo, n, a, lda, ipiv, info)
DSYTF2_ROOK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-...
subroutine dsytf2(uplo, n, a, lda, ipiv, info)
DSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...
subroutine dsytrf_rk(uplo, n, a, lda, e, ipiv, work, lwork, info)
DSYTRF_RK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-Ka...
subroutine dsytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRF_ROOK
subroutine dsytrf(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRF
subroutine dsytri2(uplo, n, a, lda, ipiv, work, lwork, info)
DSYTRI2
subroutine dsytri2x(uplo, n, a, lda, ipiv, work, nb, info)
DSYTRI2X
subroutine dsytri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
DSYTRI_3
subroutine dsytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
DSYTRI_3X
subroutine dsytri_rook(uplo, n, a, lda, ipiv, work, info)
DSYTRI_ROOK
subroutine dsytri(uplo, n, a, lda, ipiv, work, info)
DSYTRI
subroutine dsytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
DSYTRS_3
subroutine dsytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
DSYTRS_ROOK
subroutine dsytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
DSYTRS
subroutine dspcon(uplo, n, ap, ipiv, anorm, rcond, work, iwork, info)
DSPCON
subroutine dsprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DSPRFS
subroutine dsptrf(uplo, n, ap, ipiv, info)
DSPTRF
subroutine dsptri(uplo, n, ap, ipiv, work, info)
DSPTRI
subroutine dsptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
DSPTRS