59 SUBROUTINE serrpo( PATH, NUNIT )
75 parameter ( nmax = 4 )
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',
"/", -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 spptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
SPPTRS
subroutine sporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPORFS
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 spbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
SPBTRS
subroutine spptrf(UPLO, N, AP, INFO)
SPPTRF
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine spprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPPRFS
subroutine spbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, IWORK, INFO)
SPBCON
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine spotrf(UPLO, N, A, LDA, INFO)
SPOTRF
logical function lsamen(N, CA, CB)
LSAMEN
subroutine spotf2(UPLO, N, A, LDA, INFO)
SPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine spbtf2(UPLO, N, KD, AB, LDAB, INFO)
SPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine spotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
SPOTRS
subroutine spoequ(N, A, LDA, S, SCOND, AMAX, INFO)
SPOEQU
subroutine spocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, IWORK, INFO)
SPOCON
subroutine spbtrf(UPLO, N, KD, AB, LDAB, INFO)
SPBTRF
subroutine spptri(UPLO, N, AP, INFO)
SPPTRI
subroutine spoequb(N, A, LDA, S, SCOND, AMAX, INFO)
SPOEQUB
subroutine spbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPBRFS
subroutine spbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
SPBEQU
subroutine serrpo(PATH, NUNIT)
SERRPO
subroutine spotri(UPLO, N, A, LDA, INFO)
SPOTRI