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', 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, 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 cerrpo(PATH, NUNIT)
CERRPO
subroutine cpptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
CPPTRS
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 cpbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, RWORK, INFO)
CPBCON
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 chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine cpoequ(N, A, LDA, S, SCOND, AMAX, INFO)
CPOEQU
subroutine cpbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
CPBTRS
subroutine cpbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
CPBEQU
subroutine cpbtrf(UPLO, N, KD, AB, LDAB, INFO)
CPBTRF
subroutine cpotri(UPLO, N, A, LDA, INFO)
CPOTRI
subroutine cpptrf(UPLO, N, AP, INFO)
CPPTRF
subroutine cpptri(UPLO, N, AP, INFO)
CPPTRI
subroutine cpotf2(UPLO, N, A, LDA, INFO)
CPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine cpbtf2(UPLO, N, KD, AB, LDAB, INFO)
CPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine cporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CPORFS
subroutine cppcon(UPLO, N, AP, ANORM, RCOND, WORK, RWORK, INFO)
CPPCON
subroutine cppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
CPPEQU
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine cpotrf(UPLO, N, A, LDA, INFO)
CPOTRF
subroutine cpoequb(N, A, LDA, S, SCOND, AMAX, INFO)
CPOEQUB
subroutine cpotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
CPOTRS
subroutine cpprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
CPPRFS