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 )