77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 REAL ANRM, RCOND, BERR
81 INTEGER IP( NMAX ), IW( NMAX )
82 REAL 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. / real( i+j )
122 af( i, j ) = 1. / real( i+j )
137 IF( lsamen( 2, c2,
'SY' ) )
THEN
147 CALL ssytrf(
'/', 0, a, 1, ip, w, 1, info )
148 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
150 CALL ssytrf(
'U', -1, a, 1, ip, w, 1, info )
151 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
153 CALL ssytrf(
'U', 2, a, 1, ip, w, 4, info )
154 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
156 CALL ssytrf(
'U', 0, a, 1, ip, w, 0, info )
157 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
159 CALL ssytrf(
'U', 0, a, 1, ip, w, -2, info )
160 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
166 CALL ssytf2(
'/', 0, a, 1, ip, info )
167 CALL chkxer(
'SSYTF2', infot, nout, lerr, ok )
169 CALL ssytf2(
'U', -1, a, 1, ip, info )
170 CALL chkxer(
'SSYTF2', infot, nout, lerr, ok )
172 CALL ssytf2(
'U', 2, a, 1, ip, info )
173 CALL chkxer(
'SSYTF2', infot, nout, lerr, ok )
179 CALL ssytri(
'/', 0, a, 1, ip, w, info )
180 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
182 CALL ssytri(
'U', -1, a, 1, ip, w, info )
183 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
185 CALL ssytri(
'U', 2, a, 1, ip, w, info )
186 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
192 CALL ssytri2(
'/', 0, a, 1, ip, w, iw, info )
193 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
195 CALL ssytri2(
'U', -1, a, 1, ip, w, iw, info )
196 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
198 CALL ssytri2(
'U', 2, a, 1, ip, w, iw, info )
199 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
205 CALL ssytri2x(
'/', 0, a, 1, ip, w, 1, info )
206 CALL chkxer(
'SSYTRI2X', infot, nout, lerr, ok )
208 CALL ssytri2x(
'U', -1, a, 1, ip, w, 1, info )
209 CALL chkxer(
'SSYTRI2X', infot, nout, lerr, ok )
211 CALL ssytri2x(
'U', 2, a, 1, ip, w, 1, info )
212 CALL chkxer(
'SSYTRI2X', infot, nout, lerr, ok )
218 CALL ssytrs(
'/', 0, 0, a, 1, ip, b, 1, info )
219 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
221 CALL ssytrs(
'U', -1, 0, a, 1, ip, b, 1, info )
222 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
224 CALL ssytrs(
'U', 0, -1, a, 1, ip, b, 1, info )
225 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
227 CALL ssytrs(
'U', 2, 1, a, 1, ip, b, 2, info )
228 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
230 CALL ssytrs(
'U', 2, 1, a, 2, ip, b, 1, info )
231 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
237 CALL ssyrfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
239 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
241 CALL ssyrfs(
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
243 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
245 CALL ssyrfs(
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
247 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
249 CALL ssyrfs(
'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
251 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
253 CALL ssyrfs(
'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
255 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
257 CALL ssyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
259 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
261 CALL ssyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
263 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
271 CALL ssyrfsx(
'/', eq, 0, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
272 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
273 $ params, w, iw, info )
274 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
276 CALL ssyrfsx(
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
277 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
278 $ params, w, iw, info )
279 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
282 CALL ssyrfsx(
'U', eq, -1, 0, a, 1, af, 1, ip, s, b, 1, x, 1,
283 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
284 $ params, w, iw, info )
285 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
287 CALL ssyrfsx(
'U', eq, 0, -1, a, 1, af, 1, ip, s, b, 1, x, 1,
288 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
289 $ params, w, iw, info )
290 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
292 CALL ssyrfsx(
'U', eq, 2, 1, a, 1, af, 2, ip, s, b, 2, x, 2,
293 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
294 $ params, w, iw, info )
295 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
297 CALL ssyrfsx(
'U', eq, 2, 1, a, 2, af, 1, ip, s, b, 2, x, 2,
298 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
299 $ params, w, iw, info )
300 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
302 CALL ssyrfsx(
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 1, x, 2,
303 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
304 $ params, w, iw, info )
305 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
307 CALL ssyrfsx(
'U', eq, 2, 1, a, 2, af, 2, ip, s, b, 2, x, 1,
308 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
309 $ params, w, iw, info )
310 CALL chkxer(
'SSYRFSX', infot, nout, lerr, ok )
316 CALL ssycon(
'/', 0, a, 1, ip, anrm, rcond, w, iw, info )
317 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
319 CALL ssycon(
'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
320 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
322 CALL ssycon(
'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
323 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
325 CALL ssycon(
'U', 1, a, 1, ip, -1.0, rcond, w, iw, info )
326 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
328 ELSE IF( lsamen( 2, c2,
'SR' ) )
THEN
336 srnamt =
'SSYTRF_ROOK'
339 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
342 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
345 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
348 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
351 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
355 srnamt =
'SSYTF2_ROOK'
358 CALL chkxer(
'SSYTF2_ROOK', infot, nout, lerr, ok )
361 CALL chkxer(
'SSYTF2_ROOK', infot, nout, lerr, ok )
364 CALL chkxer(
'SSYTF2_ROOK', infot, nout, lerr, ok )
368 srnamt =
'SSYTRI_ROOK'
371 CALL chkxer(
'SSYTRI_ROOK', infot, nout, lerr, ok )
374 CALL chkxer(
'SSYTRI_ROOK', infot, nout, lerr, ok )
377 CALL chkxer(
'SSYTRI_ROOK', infot, nout, lerr, ok )
381 srnamt =
'SSYTRS_ROOK'
383 CALL ssytrs_rook(
'/', 0, 0, a, 1, ip, b, 1, info )
384 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
386 CALL ssytrs_rook(
'U', -1, 0, a, 1, ip, b, 1, info )
387 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
389 CALL ssytrs_rook(
'U', 0, -1, a, 1, ip, b, 1, info )
390 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
392 CALL ssytrs_rook(
'U', 2, 1, a, 1, ip, b, 2, info )
393 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
395 CALL ssytrs_rook(
'U', 2, 1, a, 2, ip, b, 1, info )
396 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
400 srnamt =
'SSYCON_ROOK'
402 CALL ssycon_rook(
'/', 0, a, 1, ip, anrm, rcond, w, iw, info )
403 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
405 CALL ssycon_rook(
'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
406 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
408 CALL ssycon_rook(
'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
409 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
411 CALL ssycon_rook(
'U', 1, a, 1, ip, -1.0, rcond, w, iw, info )
412 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
414 ELSE IF( lsamen( 2, c2,
'SK' ) )
THEN
428 CALL ssytrf_rk(
'/', 0, a, 1, e, ip, w, 1, info )
429 CALL chkxer(
'SSYTRF_RK', infot, nout, lerr, ok )
431 CALL ssytrf_rk(
'U', -1, a, 1, e, ip, w, 1, info )
432 CALL chkxer(
'SSYTRF_RK', infot, nout, lerr, ok )
434 CALL ssytrf_rk(
'U', 2, a, 1, e, ip, w, 4, info )
435 CALL chkxer(
'SSYTRF_RK', infot, nout, lerr, ok )
437 CALL ssytrf_rk(
'U', 0, a, 1, e, ip, w, 0, info )
438 CALL chkxer(
'SSYTRF_RK', infot, nout, lerr, ok )
440 CALL ssytrf_rk(
'U', 0, a, 1, e, ip, w, -2, info )
441 CALL chkxer(
'SSYTRF_RK', infot, nout, lerr, ok )
447 CALL ssytf2_rk(
'/', 0, a, 1, e, ip, info )
448 CALL chkxer(
'SSYTF2_RK', infot, nout, lerr, ok )
450 CALL ssytf2_rk(
'U', -1, a, 1, e, ip, info )
451 CALL chkxer(
'SSYTF2_RK', infot, nout, lerr, ok )
453 CALL ssytf2_rk(
'U', 2, a, 1, e, ip, info )
454 CALL chkxer(
'SSYTF2_RK', infot, nout, lerr, ok )
460 CALL ssytri_3(
'/', 0, a, 1, e, ip, w, 1, info )
461 CALL chkxer(
'SSYTRI_3', infot, nout, lerr, ok )
463 CALL ssytri_3(
'U', -1, a, 1, e, ip, w, 1, info )
464 CALL chkxer(
'SSYTRI_3', infot, nout, lerr, ok )
466 CALL ssytri_3(
'U', 2, a, 1, e, ip, w, 1, info )
467 CALL chkxer(
'SSYTRI_3', infot, nout, lerr, ok )
469 CALL ssytri_3(
'U', 0, a, 1, e, ip, w, 0, info )
470 CALL chkxer(
'SSYTRI_3', infot, nout, lerr, ok )
472 CALL ssytri_3(
'U', 0, a, 1, e, ip, w, -2, info )
473 CALL chkxer(
'SSYTRI_3', infot, nout, lerr, ok )
479 CALL ssytri_3x(
'/', 0, a, 1, e, ip, w, 1, info )
480 CALL chkxer(
'SSYTRI_3X', infot, nout, lerr, ok )
482 CALL ssytri_3x(
'U', -1, a, 1, e, ip, w, 1, info )
483 CALL chkxer(
'SSYTRI_3X', infot, nout, lerr, ok )
485 CALL ssytri_3x(
'U', 2, a, 1, e, ip, w, 1, info )
486 CALL chkxer(
'SSYTRI_3X', infot, nout, lerr, ok )
492 CALL ssytrs_3(
'/', 0, 0, a, 1, e, ip, b, 1, info )
493 CALL chkxer(
'SSYTRS_3', infot, nout, lerr, ok )
495 CALL ssytrs_3(
'U', -1, 0, a, 1, e, ip, b, 1, info )
496 CALL chkxer(
'SSYTRS_3', infot, nout, lerr, ok )
498 CALL ssytrs_3(
'U', 0, -1, a, 1, e, ip, b, 1, info )
499 CALL chkxer(
'SSYTRS_3', infot, nout, lerr, ok )
501 CALL ssytrs_3(
'U', 2, 1, a, 1, e, ip, b, 2, info )
502 CALL chkxer(
'SSYTRS_3', infot, nout, lerr, ok )
504 CALL ssytrs_3(
'U', 2, 1, a, 2, e, ip, b, 1, info )
505 CALL chkxer(
'SSYTRS_3', infot, nout, lerr, ok )
511 CALL ssycon_3(
'/', 0, a, 1, e, ip, anrm, rcond, w, iw,
513 CALL chkxer(
'SSYCON_3', infot, nout, lerr, ok )
515 CALL ssycon_3(
'U', -1, a, 1, e, ip, anrm, rcond, w, iw,
517 CALL chkxer(
'SSYCON_3', infot, nout, lerr, ok )
519 CALL ssycon_3(
'U', 2, a, 1, e, ip, anrm, rcond, w, iw,
521 CALL chkxer(
'SSYCON_3', infot, nout, lerr, ok )
523 CALL ssycon_3(
'U', 1, a, 1, e, ip, -1.0e0, rcond, w, iw,
525 CALL chkxer(
'SSYCON_3', infot, nout, lerr, ok )
527 ELSE IF( lsamen( 2, c2,
'SP' ) )
THEN
537 CALL ssptrf(
'/', 0, a, ip, info )
538 CALL chkxer(
'SSPTRF', infot, nout, lerr, ok )
540 CALL ssptrf(
'U', -1, a, ip, info )
541 CALL chkxer(
'SSPTRF', infot, nout, lerr, ok )
547 CALL ssptri(
'/', 0, a, ip, w, info )
548 CALL chkxer(
'SSPTRI', infot, nout, lerr, ok )
550 CALL ssptri(
'U', -1, a, ip, w, info )
551 CALL chkxer(
'SSPTRI', infot, nout, lerr, ok )
557 CALL ssptrs(
'/', 0, 0, a, ip, b, 1, info )
558 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
560 CALL ssptrs(
'U', -1, 0, a, ip, b, 1, info )
561 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
563 CALL ssptrs(
'U', 0, -1, a, ip, b, 1, info )
564 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
566 CALL ssptrs(
'U', 2, 1, a, ip, b, 1, info )
567 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
573 CALL ssprfs(
'/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
575 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
577 CALL ssprfs(
'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
579 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
581 CALL ssprfs(
'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
583 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
585 CALL ssprfs(
'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, iw,
587 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
589 CALL ssprfs(
'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, iw,
591 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
597 CALL sspcon(
'/', 0, a, ip, anrm, rcond, w, iw, info )
598 CALL chkxer(
'SSPCON', infot, nout, lerr, ok )
600 CALL sspcon(
'U', -1, a, ip, anrm, rcond, w, iw, info )
601 CALL chkxer(
'SSPCON', infot, nout, lerr, ok )
603 CALL sspcon(
'U', 1, a, ip, -1.0, rcond, w, iw, info )
604 CALL chkxer(
'SSPCON', infot, nout, lerr, ok )
609 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine ssycon_3(uplo, n, a, lda, e, ipiv, anorm, rcond, work, iwork, info)
SSYCON_3
subroutine ssycon_rook(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
SSYCON_ROOK
subroutine ssycon(uplo, n, a, lda, ipiv, anorm, rcond, work, iwork, info)
SSYCON
subroutine ssyrfs(uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
SSYRFS
subroutine ssyrfsx(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)
SSYRFSX
subroutine ssytf2_rk(uplo, n, a, lda, e, ipiv, info)
SSYTF2_RK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-Ka...
subroutine ssytf2_rook(uplo, n, a, lda, ipiv, info)
SSYTF2_ROOK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-...
subroutine ssytf2(uplo, n, a, lda, ipiv, info)
SSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...
subroutine ssytrf_rk(uplo, n, a, lda, e, ipiv, work, lwork, info)
SSYTRF_RK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-Ka...
subroutine ssytrf_rook(uplo, n, a, lda, ipiv, work, lwork, info)
SSYTRF_ROOK
subroutine ssytrf(uplo, n, a, lda, ipiv, work, lwork, info)
SSYTRF
subroutine ssytri2(uplo, n, a, lda, ipiv, work, lwork, info)
SSYTRI2
subroutine ssytri2x(uplo, n, a, lda, ipiv, work, nb, info)
SSYTRI2X
subroutine ssytri_3(uplo, n, a, lda, e, ipiv, work, lwork, info)
SSYTRI_3
subroutine ssytri_3x(uplo, n, a, lda, e, ipiv, work, nb, info)
SSYTRI_3X
subroutine ssytri_rook(uplo, n, a, lda, ipiv, work, info)
SSYTRI_ROOK
subroutine ssytri(uplo, n, a, lda, ipiv, work, info)
SSYTRI
subroutine ssytrs_3(uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
SSYTRS_3
subroutine ssytrs_rook(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
SSYTRS_ROOK
subroutine ssytrs(uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
SSYTRS
subroutine sspcon(uplo, n, ap, ipiv, anorm, rcond, work, iwork, info)
SSPCON
subroutine ssprfs(uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
SSPRFS
subroutine ssptrf(uplo, n, ap, ipiv, info)
SSPTRF
subroutine ssptri(uplo, n, ap, ipiv, work, info)
SSPTRI
subroutine ssptrs(uplo, n, nrhs, ap, ipiv, b, ldb, info)
SSPTRS
subroutine serrsy(path, nunit)
SERRSY