77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 REAL ANRM, RCOND, BERR
82 REAL 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. / real( i+j )
120 af( i, j ) = 1. / real( i+j )
132 IF( lsamen( 2, c2,
'PO' ) )
THEN
141 CALL spotrf(
'/', 0, a, 1, info )
142 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
144 CALL spotrf(
'U', -1, a, 1, info )
145 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
147 CALL spotrf(
'U', 2, a, 1, info )
148 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
154 CALL spotf2(
'/', 0, a, 1, info )
155 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
157 CALL spotf2(
'U', -1, a, 1, info )
158 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
160 CALL spotf2(
'U', 2, a, 1, info )
161 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
167 CALL spotri(
'/', 0, a, 1, info )
168 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
170 CALL spotri(
'U', -1, a, 1, info )
171 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
173 CALL spotri(
'U', 2, a, 1, info )
174 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
180 CALL spotrs(
'/', 0, 0, a, 1, b, 1, info )
181 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
183 CALL spotrs(
'U', -1, 0, a, 1, b, 1, info )
184 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
186 CALL spotrs(
'U', 0, -1, a, 1, b, 1, info )
187 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
189 CALL spotrs(
'U', 2, 1, a, 1, b, 2, info )
190 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
192 CALL spotrs(
'U', 2, 1, a, 2, b, 1, info )
193 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
199 CALL sporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, iw,
201 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
203 CALL sporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
205 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
207 CALL sporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
209 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
211 CALL sporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, iw,
213 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
215 CALL sporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, iw,
217 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
219 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, iw,
221 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
223 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, iw,
225 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
233 CALL sporfsx(
'/', 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(
'SPORFSX', infot, nout, lerr, ok )
238 CALL sporfsx(
'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(
'SPORFSX', infot, nout, lerr, ok )
244 CALL sporfsx(
'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(
'SPORFSX', infot, nout, lerr, ok )
249 CALL sporfsx(
'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(
'SPORFSX', infot, nout, lerr, ok )
254 CALL sporfsx(
'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(
'SPORFSX', infot, nout, lerr, ok )
259 CALL sporfsx(
'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(
'SPORFSX', infot, nout, lerr, ok )
264 CALL sporfsx(
'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(
'SPORFSX', infot, nout, lerr, ok )
269 CALL sporfsx(
'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(
'SPORFSX', infot, nout, lerr, ok )
278 CALL spocon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
279 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
281 CALL spocon(
'U', -1, a, 1, anrm, rcond, w, iw, info )
282 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
284 CALL spocon(
'U', 2, a, 1, anrm, rcond, w, iw, info )
285 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
291 CALL spoequ( -1, a, 1, r1, rcond, anrm, info )
292 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
294 CALL spoequ( 2, a, 1, r1, rcond, anrm, info )
295 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
301 CALL spoequb( -1, a, 1, r1, rcond, anrm, info )
302 CALL chkxer(
'SPOEQUB', infot, nout, lerr, ok )
304 CALL spoequb( 2, a, 1, r1, rcond, anrm, info )
305 CALL chkxer(
'SPOEQUB', infot, nout, lerr, ok )
307 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
316 CALL spptrf(
'/', 0, a, info )
317 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
319 CALL spptrf(
'U', -1, a, info )
320 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
326 CALL spptri(
'/', 0, a, info )
327 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
329 CALL spptri(
'U', -1, a, info )
330 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
336 CALL spptrs(
'/', 0, 0, a, b, 1, info )
337 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
339 CALL spptrs(
'U', -1, 0, a, b, 1, info )
340 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
342 CALL spptrs(
'U', 0, -1, a, b, 1, info )
343 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
345 CALL spptrs(
'U', 2, 1, a, b, 1, info )
346 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
352 CALL spprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
354 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
356 CALL spprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
358 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
360 CALL spprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, iw,
362 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
364 CALL spprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, iw,
366 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
368 CALL spprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, iw,
370 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
376 CALL sppcon(
'/', 0, a, anrm, rcond, w, iw, info )
377 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
379 CALL sppcon(
'U', -1, a, anrm, rcond, w, iw, info )
380 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
386 CALL sppequ(
'/', 0, a, r1, rcond, anrm, info )
387 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
389 CALL sppequ(
'U', -1, a, r1, rcond, anrm, info )
390 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
392 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
401 CALL spbtrf(
'/', 0, 0, a, 1, info )
402 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
404 CALL spbtrf(
'U', -1, 0, a, 1, info )
405 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
407 CALL spbtrf(
'U', 1, -1, a, 1, info )
408 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
410 CALL spbtrf(
'U', 2, 1, a, 1, info )
411 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
417 CALL spbtf2(
'/', 0, 0, a, 1, info )
418 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
420 CALL spbtf2(
'U', -1, 0, a, 1, info )
421 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
423 CALL spbtf2(
'U', 1, -1, a, 1, info )
424 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
426 CALL spbtf2(
'U', 2, 1, a, 1, info )
427 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
433 CALL spbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
434 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
436 CALL spbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
437 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
439 CALL spbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
440 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
442 CALL spbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
443 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
445 CALL spbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
446 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
448 CALL spbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
449 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
455 CALL spbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
457 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
459 CALL spbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
461 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
463 CALL spbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
465 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
467 CALL spbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
469 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
471 CALL spbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
473 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
475 CALL spbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
477 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
479 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
481 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
483 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
485 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
491 CALL spbcon(
'/', 0, 0, a, 1, anrm, rcond, w, iw, info )
492 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
494 CALL spbcon(
'U', -1, 0, a, 1, anrm, rcond, w, iw, info )
495 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
497 CALL spbcon(
'U', 1, -1, a, 1, anrm, rcond, w, iw, info )
498 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
500 CALL spbcon(
'U', 2, 1, a, 1, anrm, rcond, w, iw, info )
501 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
507 CALL spbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
508 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
510 CALL spbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
511 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
513 CALL spbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
514 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
516 CALL spbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
517 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
522 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine spbcon(uplo, n, kd, ab, ldab, anorm, rcond, work, iwork, info)
SPBCON
subroutine spbequ(uplo, n, kd, ab, ldab, s, scond, amax, info)
SPBEQU
subroutine spbrfs(uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, iwork, info)
SPBRFS
subroutine spbtf2(uplo, n, kd, ab, ldab, info)
SPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine spbtrf(uplo, n, kd, ab, ldab, info)
SPBTRF
subroutine spbtrs(uplo, n, kd, nrhs, ab, ldab, b, ldb, info)
SPBTRS
subroutine spocon(uplo, n, a, lda, anorm, rcond, work, iwork, info)
SPOCON
subroutine spoequ(n, a, lda, s, scond, amax, info)
SPOEQU
subroutine spoequb(n, a, lda, s, scond, amax, info)
SPOEQUB
subroutine sporfs(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, iwork, info)
SPORFS
subroutine sporfsx(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)
SPORFSX
subroutine spotf2(uplo, n, a, lda, info)
SPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine spotrf(uplo, n, a, lda, info)
SPOTRF
subroutine spotri(uplo, n, a, lda, info)
SPOTRI
subroutine spotrs(uplo, n, nrhs, a, lda, b, ldb, info)
SPOTRS
subroutine sppcon(uplo, n, ap, anorm, rcond, work, iwork, info)
SPPCON
subroutine sppequ(uplo, n, ap, s, scond, amax, info)
SPPEQU
subroutine spprfs(uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, iwork, info)
SPPRFS
subroutine spptrf(uplo, n, ap, info)
SPPTRF
subroutine spptri(uplo, n, ap, info)
SPPTRI
subroutine spptrs(uplo, n, nrhs, ap, b, ldb, info)
SPPTRS
subroutine serrpo(path, nunit)
SERRPO