59 SUBROUTINE cerrpo( PATH, NUNIT )
75 parameter ( nmax = 4 )
80 INTEGER i, info, j, n_err_bnds, nparams
81 REAL anrm, rcond, berr
84 REAL s( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
85 $ err_bnds_n( nmax, 3 ), err_bnds_c( nmax, 3 ),
87 COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
88 $ w( 2*nmax ), x( nmax )
106 COMMON / infoc / infot, nout, ok, lerr
107 COMMON / srnamc / srnamt
110 INTRINSIC cmplx, real
115 WRITE( nout, fmt = * )
122 a( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
123 af( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
138 IF(
lsamen( 2, c2,
'PO' ) )
THEN
144 CALL cpotrf(
'/', 0, a, 1, info )
145 CALL chkxer(
'CPOTRF', infot, nout, lerr, ok )
147 CALL cpotrf(
'U', -1, a, 1, info )
148 CALL chkxer(
'CPOTRF', infot, nout, lerr, ok )
150 CALL cpotrf(
'U', 2, a, 1, info )
151 CALL chkxer(
'CPOTRF', infot, nout, lerr, ok )
157 CALL cpotf2(
'/', 0, a, 1, info )
158 CALL chkxer(
'CPOTF2', infot, nout, lerr, ok )
160 CALL cpotf2(
'U', -1, a, 1, info )
161 CALL chkxer(
'CPOTF2', infot, nout, lerr, ok )
163 CALL cpotf2(
'U', 2, a, 1, info )
164 CALL chkxer(
'CPOTF2', infot, nout, lerr, ok )
170 CALL cpotri(
'/', 0, a, 1, info )
171 CALL chkxer(
'CPOTRI', infot, nout, lerr, ok )
173 CALL cpotri(
'U', -1, a, 1, info )
174 CALL chkxer(
'CPOTRI', infot, nout, lerr, ok )
176 CALL cpotri(
'U', 2, a, 1, info )
177 CALL chkxer(
'CPOTRI', infot, nout, lerr, ok )
183 CALL cpotrs(
'/', 0, 0, a, 1, b, 1, info )
184 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
186 CALL cpotrs(
'U', -1, 0, a, 1, b, 1, info )
187 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
189 CALL cpotrs(
'U', 0, -1, a, 1, b, 1, info )
190 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
192 CALL cpotrs(
'U', 2, 1, a, 1, b, 2, info )
193 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
195 CALL cpotrs(
'U', 2, 1, a, 2, b, 1, info )
196 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
202 CALL cporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
204 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
206 CALL cporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
208 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
210 CALL cporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
212 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
214 CALL cporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
216 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
218 CALL cporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
220 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
222 CALL cporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
224 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
226 CALL cporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
228 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
236 CALL cporfsx(
'/', 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, r, info )
239 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
241 CALL cporfsx(
'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, r, info )
244 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
247 CALL cporfsx(
'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, r, info )
250 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
252 CALL cporfsx(
'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, r, info )
255 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
257 CALL cporfsx(
'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, r, info )
260 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
262 CALL cporfsx(
'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, r, info )
265 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
267 CALL cporfsx(
'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, r, info )
270 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
272 CALL cporfsx(
'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, r, info )
275 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
281 CALL cpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
282 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
284 CALL cpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
285 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
287 CALL cpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
288 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
290 CALL cpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
291 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
297 CALL cpoequ( -1, a, 1, r1, rcond, anrm, info )
298 CALL chkxer(
'CPOEQU', infot, nout, lerr, ok )
300 CALL cpoequ( 2, a, 1, r1, rcond, anrm, info )
301 CALL chkxer(
'CPOEQU', infot, nout, lerr, ok )
307 CALL cpoequb( -1, a, 1, r1, rcond, anrm, info )
308 CALL chkxer(
'CPOEQUB', infot, nout, lerr, ok )
310 CALL cpoequb( 2, a, 1, r1, rcond, anrm, info )
311 CALL chkxer(
'CPOEQUB', infot, nout, lerr, ok )
316 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
322 CALL cpptrf(
'/', 0, a, info )
323 CALL chkxer(
'CPPTRF', infot, nout, lerr, ok )
325 CALL cpptrf(
'U', -1, a, info )
326 CALL chkxer(
'CPPTRF', infot, nout, lerr, ok )
332 CALL cpptri(
'/', 0, a, info )
333 CALL chkxer(
'CPPTRI', infot, nout, lerr, ok )
335 CALL cpptri(
'U', -1, a, info )
336 CALL chkxer(
'CPPTRI', infot, nout, lerr, ok )
342 CALL cpptrs(
'/', 0, 0, a, b, 1, info )
343 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
345 CALL cpptrs(
'U', -1, 0, a, b, 1, info )
346 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
348 CALL cpptrs(
'U', 0, -1, a, b, 1, info )
349 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
351 CALL cpptrs(
'U', 2, 1, a, b, 1, info )
352 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
358 CALL cpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
359 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
361 CALL cpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
363 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
365 CALL cpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
367 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
369 CALL cpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
370 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
372 CALL cpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
373 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
379 CALL cppcon(
'/', 0, a, anrm, rcond, w, r, info )
380 CALL chkxer(
'CPPCON', infot, nout, lerr, ok )
382 CALL cppcon(
'U', -1, a, anrm, rcond, w, r, info )
383 CALL chkxer(
'CPPCON', infot, nout, lerr, ok )
385 CALL cppcon(
'U', 1, a, -anrm, rcond, w, r, info )
386 CALL chkxer(
'CPPCON', infot, nout, lerr, ok )
392 CALL cppequ(
'/', 0, a, r1, rcond, anrm, info )
393 CALL chkxer(
'CPPEQU', infot, nout, lerr, ok )
395 CALL cppequ(
'U', -1, a, r1, rcond, anrm, info )
396 CALL chkxer(
'CPPEQU', infot, nout, lerr, ok )
401 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
407 CALL cpbtrf(
'/', 0, 0, a, 1, info )
408 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
410 CALL cpbtrf(
'U', -1, 0, a, 1, info )
411 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
413 CALL cpbtrf(
'U', 1, -1, a, 1, info )
414 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
416 CALL cpbtrf(
'U', 2, 1, a, 1, info )
417 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
423 CALL cpbtf2(
'/', 0, 0, a, 1, info )
424 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
426 CALL cpbtf2(
'U', -1, 0, a, 1, info )
427 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
429 CALL cpbtf2(
'U', 1, -1, a, 1, info )
430 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
432 CALL cpbtf2(
'U', 2, 1, a, 1, info )
433 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
439 CALL cpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
440 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
442 CALL cpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
443 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
445 CALL cpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
446 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
448 CALL cpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
449 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
451 CALL cpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
452 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
454 CALL cpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
455 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
461 CALL cpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
463 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
465 CALL cpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
467 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
469 CALL cpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
471 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
473 CALL cpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
475 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
477 CALL cpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
479 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
481 CALL cpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
483 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
485 CALL cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
487 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
489 CALL cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
491 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
497 CALL cpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
498 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
500 CALL cpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
501 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
503 CALL cpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
504 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
506 CALL cpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
507 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
509 CALL cpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
510 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
516 CALL cpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
517 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
519 CALL cpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
520 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
522 CALL cpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
523 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
525 CALL cpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
526 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
531 CALL alaesm( path, ok, nout )
subroutine cpptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
CPPTRS
subroutine cpotri(UPLO, N, A, LDA, INFO)
CPOTRI
subroutine cporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CPORFS
subroutine cpbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
CPBEQU
subroutine cpbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, RWORK, INFO)
CPBCON
logical function lsamen(N, CA, CB)
LSAMEN
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine cpptrf(UPLO, N, AP, INFO)
CPPTRF
subroutine cpbtf2(UPLO, N, KD, AB, LDAB, INFO)
CPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine cpocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, RWORK, INFO)
CPOCON
subroutine cpbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CPBRFS
subroutine cppcon(UPLO, N, AP, ANORM, RCOND, WORK, RWORK, INFO)
CPPCON
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine cpotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
CPOTRS
subroutine cpptri(UPLO, N, AP, INFO)
CPPTRI
subroutine cpoequb(N, A, LDA, S, SCOND, AMAX, INFO)
CPOEQUB
subroutine cpoequ(N, A, LDA, S, SCOND, AMAX, INFO)
CPOEQU
subroutine cpprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CPPRFS
subroutine cpotrf(UPLO, N, A, LDA, INFO)
CPOTRF
subroutine cpotf2(UPLO, N, A, LDA, INFO)
CPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine cpbtrf(UPLO, N, KD, AB, LDAB, INFO)
CPBTRF
subroutine cppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
CPPEQU
subroutine cerrpo(PATH, NUNIT)
CERRPO
subroutine cporfsx(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, RWORK, INFO)
CPORFSX
subroutine cpbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
CPBTRS