80 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
81 REAL ANRM, RCOND, BERR
85 REAL A( nmax, nmax ), AF( nmax, nmax ), B( nmax ),
86 $ r1( nmax ), r2( nmax ), w( 3*nmax ), x( nmax ),
87 $ s( nmax ), err_bnds_n( nmax, 3 ),
88 $ err_bnds_c( nmax, 3 ), params( 1 )
106 COMMON / infoc / infot, nout, ok, lerr
107 COMMON / srnamc / srnamt
115 WRITE( nout, fmt = * )
122 a( i, j ) = 1. /
REAL( i+j )
123 af( i, j ) = 1. /
REAL( i+j )
135 IF( lsamen( 2, c2,
'PO' ) )
THEN
144 CALL
spotrf(
'/', 0, a, 1, info )
145 CALL
chkxer(
'SPOTRF', infot, nout, lerr, ok )
147 CALL
spotrf(
'U', -1, a, 1, info )
148 CALL
chkxer(
'SPOTRF', infot, nout, lerr, ok )
150 CALL
spotrf(
'U', 2, a, 1, info )
151 CALL
chkxer(
'SPOTRF', infot, nout, lerr, ok )
157 CALL
spotf2(
'/', 0, a, 1, info )
158 CALL
chkxer(
'SPOTF2', infot, nout, lerr, ok )
160 CALL
spotf2(
'U', -1, a, 1, info )
161 CALL
chkxer(
'SPOTF2', infot, nout, lerr, ok )
163 CALL
spotf2(
'U', 2, a, 1, info )
164 CALL
chkxer(
'SPOTF2', infot, nout, lerr, ok )
170 CALL
spotri(
'/', 0, a, 1, info )
171 CALL
chkxer(
'SPOTRI', infot, nout, lerr, ok )
173 CALL
spotri(
'U', -1, a, 1, info )
174 CALL
chkxer(
'SPOTRI', infot, nout, lerr, ok )
176 CALL
spotri(
'U', 2, a, 1, info )
177 CALL
chkxer(
'SPOTRI', infot, nout, lerr, ok )
183 CALL
spotrs(
'/', 0, 0, a, 1, b, 1, info )
184 CALL
chkxer(
'SPOTRS', infot, nout, lerr, ok )
186 CALL
spotrs(
'U', -1, 0, a, 1, b, 1, info )
187 CALL
chkxer(
'SPOTRS', infot, nout, lerr, ok )
189 CALL
spotrs(
'U', 0, -1, a, 1, b, 1, info )
190 CALL
chkxer(
'SPOTRS', infot, nout, lerr, ok )
192 CALL
spotrs(
'U', 2, 1, a, 1, b, 2, info )
193 CALL
chkxer(
'SPOTRS', infot, nout, lerr, ok )
195 CALL
spotrs(
'U', 2, 1, a, 2, b, 1, info )
196 CALL
chkxer(
'SPOTRS', infot, nout, lerr, ok )
202 CALL
sporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, iw,
204 CALL
chkxer(
'SPORFS', infot, nout, lerr, ok )
206 CALL
sporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
208 CALL
chkxer(
'SPORFS', infot, nout, lerr, ok )
210 CALL
sporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
212 CALL
chkxer(
'SPORFS', infot, nout, lerr, ok )
214 CALL
sporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, iw,
216 CALL
chkxer(
'SPORFS', infot, nout, lerr, ok )
218 CALL
sporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, iw,
220 CALL
chkxer(
'SPORFS', infot, nout, lerr, ok )
222 CALL
sporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, iw,
224 CALL
chkxer(
'SPORFS', infot, nout, lerr, ok )
226 CALL
sporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, iw,
228 CALL
chkxer(
'SPORFS', infot, nout, lerr, ok )
236 CALL
sporfsx(
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
237 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
238 $ params, w, iw, info )
239 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
241 CALL
sporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
242 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
243 $ params, w, iw, info )
244 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
247 CALL
sporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
248 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
249 $ params, w, iw, info )
250 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
252 CALL
sporfsx(
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
253 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
254 $ params, w, iw, info )
255 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
257 CALL
sporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
258 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
259 $ params, w, iw, info )
260 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
262 CALL
sporfsx(
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
263 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
264 $ params, w, iw, info )
265 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
267 CALL
sporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
268 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
269 $ params, w, iw, info )
270 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
272 CALL
sporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
273 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
274 $ params, w, iw, info )
275 CALL
chkxer(
'SPORFSX', infot, nout, lerr, ok )
281 CALL
spocon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
282 CALL
chkxer(
'SPOCON', infot, nout, lerr, ok )
284 CALL
spocon(
'U', -1, a, 1, anrm, rcond, w, iw, info )
285 CALL
chkxer(
'SPOCON', infot, nout, lerr, ok )
287 CALL
spocon(
'U', 2, a, 1, anrm, rcond, w, iw, info )
288 CALL
chkxer(
'SPOCON', infot, nout, lerr, ok )
294 CALL
spoequ( -1, a, 1, r1, rcond, anrm, info )
295 CALL
chkxer(
'SPOEQU', infot, nout, lerr, ok )
297 CALL
spoequ( 2, a, 1, r1, rcond, anrm, info )
298 CALL
chkxer(
'SPOEQU', infot, nout, lerr, ok )
304 CALL
spoequb( -1, a, 1, r1, rcond, anrm, info )
305 CALL
chkxer(
'SPOEQUB', infot, nout, lerr, ok )
307 CALL
spoequb( 2, a, 1, r1, rcond, anrm, info )
308 CALL
chkxer(
'SPOEQUB', infot, nout, lerr, ok )
310 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
319 CALL
spptrf(
'/', 0, a, info )
320 CALL
chkxer(
'SPPTRF', infot, nout, lerr, ok )
322 CALL
spptrf(
'U', -1, a, info )
323 CALL
chkxer(
'SPPTRF', infot, nout, lerr, ok )
329 CALL
spptri(
'/', 0, a, info )
330 CALL
chkxer(
'SPPTRI', infot, nout, lerr, ok )
332 CALL
spptri(
'U', -1, a, info )
333 CALL
chkxer(
'SPPTRI', infot, nout, lerr, ok )
339 CALL
spptrs(
'/', 0, 0, a, b, 1, info )
340 CALL
chkxer(
'SPPTRS', infot, nout, lerr, ok )
342 CALL
spptrs(
'U', -1, 0, a, b, 1, info )
343 CALL
chkxer(
'SPPTRS', infot, nout, lerr, ok )
345 CALL
spptrs(
'U', 0, -1, a, b, 1, info )
346 CALL
chkxer(
'SPPTRS', infot, nout, lerr, ok )
348 CALL
spptrs(
'U', 2, 1, a, b, 1, info )
349 CALL
chkxer(
'SPPTRS', infot, nout, lerr, ok )
355 CALL
spprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
357 CALL
chkxer(
'SPPRFS', infot, nout, lerr, ok )
359 CALL
spprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
361 CALL
chkxer(
'SPPRFS', infot, nout, lerr, ok )
363 CALL
spprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, iw,
365 CALL
chkxer(
'SPPRFS', infot, nout, lerr, ok )
367 CALL
spprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, iw,
369 CALL
chkxer(
'SPPRFS', infot, nout, lerr, ok )
371 CALL
spprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, iw,
373 CALL
chkxer(
'SPPRFS', infot, nout, lerr, ok )
379 CALL
sppcon(
'/', 0, a, anrm, rcond, w, iw, info )
380 CALL
chkxer(
'SPPCON', infot, nout, lerr, ok )
382 CALL
sppcon(
'U', -1, a, anrm, rcond, w, iw, info )
383 CALL
chkxer(
'SPPCON', infot, nout, lerr, ok )
389 CALL
sppequ(
'/', 0, a, r1, rcond, anrm, info )
390 CALL
chkxer(
'SPPEQU', infot, nout, lerr, ok )
392 CALL
sppequ(
'U', -1, a, r1, rcond, anrm, info )
393 CALL
chkxer(
'SPPEQU', infot, nout, lerr, ok )
395 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
404 CALL
spbtrf(
'/', 0, 0, a, 1, info )
405 CALL
chkxer(
'SPBTRF', infot, nout, lerr, ok )
407 CALL
spbtrf(
'U', -1, 0, a, 1, info )
408 CALL
chkxer(
'SPBTRF', infot, nout, lerr, ok )
410 CALL
spbtrf(
'U', 1, -1, a, 1, info )
411 CALL
chkxer(
'SPBTRF', infot, nout, lerr, ok )
413 CALL
spbtrf(
'U', 2, 1, a, 1, info )
414 CALL
chkxer(
'SPBTRF', infot, nout, lerr, ok )
420 CALL
spbtf2(
'/', 0, 0, a, 1, info )
421 CALL
chkxer(
'SPBTF2', infot, nout, lerr, ok )
423 CALL
spbtf2(
'U', -1, 0, a, 1, info )
424 CALL
chkxer(
'SPBTF2', infot, nout, lerr, ok )
426 CALL
spbtf2(
'U', 1, -1, a, 1, info )
427 CALL
chkxer(
'SPBTF2', infot, nout, lerr, ok )
429 CALL
spbtf2(
'U', 2, 1, a, 1, info )
430 CALL
chkxer(
'SPBTF2', infot, nout, lerr, ok )
436 CALL
spbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
437 CALL
chkxer(
'SPBTRS', infot, nout, lerr, ok )
439 CALL
spbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
440 CALL
chkxer(
'SPBTRS', infot, nout, lerr, ok )
442 CALL
spbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
443 CALL
chkxer(
'SPBTRS', infot, nout, lerr, ok )
445 CALL
spbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
446 CALL
chkxer(
'SPBTRS', infot, nout, lerr, ok )
448 CALL
spbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
449 CALL
chkxer(
'SPBTRS', infot, nout, lerr, ok )
451 CALL
spbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
452 CALL
chkxer(
'SPBTRS', infot, nout, lerr, ok )
458 CALL
spbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
460 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
462 CALL
spbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
464 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
466 CALL
spbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
468 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
470 CALL
spbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
472 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
474 CALL
spbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
476 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
478 CALL
spbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
480 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
482 CALL
spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
484 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
486 CALL
spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
488 CALL
chkxer(
'SPBRFS', infot, nout, lerr, ok )
494 CALL
spbcon(
'/', 0, 0, a, 1, anrm, rcond, w, iw, info )
495 CALL
chkxer(
'SPBCON', infot, nout, lerr, ok )
497 CALL
spbcon(
'U', -1, 0, a, 1, anrm, rcond, w, iw, info )
498 CALL
chkxer(
'SPBCON', infot, nout, lerr, ok )
500 CALL
spbcon(
'U', 1, -1, a, 1, anrm, rcond, w, iw, info )
501 CALL
chkxer(
'SPBCON', infot, nout, lerr, ok )
503 CALL
spbcon(
'U', 2, 1, a, 1, anrm, rcond, w, iw, info )
504 CALL
chkxer(
'SPBCON', infot, nout, lerr, ok )
510 CALL
spbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
511 CALL
chkxer(
'SPBEQU', infot, nout, lerr, ok )
513 CALL
spbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
514 CALL
chkxer(
'SPBEQU', infot, nout, lerr, ok )
516 CALL
spbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
517 CALL
chkxer(
'SPBEQU', infot, nout, lerr, ok )
519 CALL
spbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
520 CALL
chkxer(
'SPBEQU', infot, nout, lerr, ok )
525 CALL
alaesm( path, ok, nout )
subroutine spbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
SPBEQU
subroutine spotf2(UPLO, N, A, LDA, INFO)
SPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine spbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, IWORK, INFO)
SPBCON
subroutine spotri(UPLO, N, A, LDA, INFO)
SPOTRI
subroutine spoequb(N, A, LDA, S, SCOND, AMAX, INFO)
SPOEQUB
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine sporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPORFS
subroutine serrpo(PATH, NUNIT)
SERRPO
subroutine spprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPPRFS
subroutine sppcon(UPLO, N, AP, ANORM, RCOND, WORK, IWORK, INFO)
SPPCON
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 sppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
SPPEQU
subroutine spocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, IWORK, INFO)
SPOCON
subroutine spbtrf(UPLO, N, KD, AB, LDAB, INFO)
SPBTRF
subroutine spoequ(N, A, LDA, S, SCOND, AMAX, INFO)
SPOEQU
subroutine spbtf2(UPLO, N, KD, AB, LDAB, INFO)
SPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine spbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
SPBTRS
subroutine spotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
SPOTRS
subroutine alaesm(PATH, OK, NOUT)
ALAESM
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 spbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPBRFS
subroutine spotrf(UPLO, N, A, LDA, INFO)
SPOTRF