59 SUBROUTINE zerrpo( PATH, NUNIT )
75 parameter ( nmax = 4 )
80 INTEGER i, info, j, n_err_bnds, nparams
81 DOUBLE PRECISION anrm, rcond, berr
84 DOUBLE PRECISION s( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
85 $ err_bnds_n( nmax, 3 ), err_bnds_c( nmax, 3 ),
87 COMPLEX*16 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 dble, dcmplx
115 WRITE( nout, fmt = * )
122 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
123 $ -1.d0 / dble( i+j ) )
124 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
125 $ -1.d0 / dble( i+j ) )
140 IF(
lsamen( 2, c2,
'PO' ) )
THEN
146 CALL zpotrf(
'/', 0, a, 1, info )
147 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
149 CALL zpotrf(
'U', -1, a, 1, info )
150 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
152 CALL zpotrf(
'U', 2, a, 1, info )
153 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
159 CALL zpotf2(
'/', 0, a, 1, info )
160 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
162 CALL zpotf2(
'U', -1, a, 1, info )
163 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
165 CALL zpotf2(
'U', 2, a, 1, info )
166 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
172 CALL zpotri(
'/', 0, a, 1, info )
173 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
175 CALL zpotri(
'U', -1, a, 1, info )
176 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
178 CALL zpotri(
'U', 2, a, 1, info )
179 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
185 CALL zpotrs(
'/', 0, 0, a, 1, b, 1, info )
186 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
188 CALL zpotrs(
'U', -1, 0, a, 1, b, 1, info )
189 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
191 CALL zpotrs(
'U', 0, -1, a, 1, b, 1, info )
192 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
194 CALL zpotrs(
'U', 2, 1, a, 1, b, 2, info )
195 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
197 CALL zpotrs(
'U', 2, 1, a, 2, b, 1, info )
198 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
204 CALL zporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
206 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
208 CALL zporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
210 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
212 CALL zporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
214 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
216 CALL zporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
218 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
220 CALL zporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
222 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
224 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
226 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
228 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
230 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
238 CALL zporfsx(
'/', eq, 0, 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, r, info )
241 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
243 CALL zporfsx(
'U',
"/", -1, 0, a, 1, af, 1, s, b, 1, x, 1,
244 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
245 $ params, w, r, info )
246 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
249 CALL zporfsx(
'U', eq, -1, 0, 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, r, info )
252 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
254 CALL zporfsx(
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
255 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
256 $ params, w, r, info )
257 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
259 CALL zporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
260 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
261 $ params, w, r, info )
262 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
264 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
265 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
266 $ params, w, r, info )
267 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
269 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
270 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
271 $ params, w, r, info )
272 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
274 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
275 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
276 $ params, w, r, info )
277 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
283 CALL zpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
284 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
286 CALL zpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
287 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
289 CALL zpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
290 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
292 CALL zpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
293 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
299 CALL zpoequ( -1, a, 1, r1, rcond, anrm, info )
300 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
302 CALL zpoequ( 2, a, 1, r1, rcond, anrm, info )
303 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
309 CALL zpoequb( -1, a, 1, r1, rcond, anrm, info )
310 CALL chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
312 CALL zpoequb( 2, a, 1, r1, rcond, anrm, info )
313 CALL chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
318 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
324 CALL zpptrf(
'/', 0, a, info )
325 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
327 CALL zpptrf(
'U', -1, a, info )
328 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
334 CALL zpptri(
'/', 0, a, info )
335 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
337 CALL zpptri(
'U', -1, a, info )
338 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
344 CALL zpptrs(
'/', 0, 0, a, b, 1, info )
345 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
347 CALL zpptrs(
'U', -1, 0, a, b, 1, info )
348 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
350 CALL zpptrs(
'U', 0, -1, a, b, 1, info )
351 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
353 CALL zpptrs(
'U', 2, 1, a, b, 1, info )
354 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
360 CALL zpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
361 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
363 CALL zpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
365 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
367 CALL zpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
369 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
371 CALL zpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
372 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
374 CALL zpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
375 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
381 CALL zppcon(
'/', 0, a, anrm, rcond, w, r, info )
382 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
384 CALL zppcon(
'U', -1, a, anrm, rcond, w, r, info )
385 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
387 CALL zppcon(
'U', 1, a, -anrm, rcond, w, r, info )
388 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
394 CALL zppequ(
'/', 0, a, r1, rcond, anrm, info )
395 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
397 CALL zppequ(
'U', -1, a, r1, rcond, anrm, info )
398 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
403 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
409 CALL zpbtrf(
'/', 0, 0, a, 1, info )
410 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
412 CALL zpbtrf(
'U', -1, 0, a, 1, info )
413 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
415 CALL zpbtrf(
'U', 1, -1, a, 1, info )
416 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
418 CALL zpbtrf(
'U', 2, 1, a, 1, info )
419 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
425 CALL zpbtf2(
'/', 0, 0, a, 1, info )
426 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
428 CALL zpbtf2(
'U', -1, 0, a, 1, info )
429 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
431 CALL zpbtf2(
'U', 1, -1, a, 1, info )
432 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
434 CALL zpbtf2(
'U', 2, 1, a, 1, info )
435 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
441 CALL zpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
442 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
444 CALL zpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
445 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
447 CALL zpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
448 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
450 CALL zpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
451 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
453 CALL zpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
454 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
456 CALL zpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
457 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
463 CALL zpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
465 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
467 CALL zpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
469 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
471 CALL zpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
473 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
475 CALL zpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
477 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
479 CALL zpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
481 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
483 CALL zpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
485 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
487 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
489 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
491 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
493 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
499 CALL zpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
500 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
502 CALL zpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
503 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
505 CALL zpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
506 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
508 CALL zpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
509 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
511 CALL zpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
512 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
518 CALL zpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
519 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
521 CALL zpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
522 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
524 CALL zpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
525 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
527 CALL zpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
528 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
533 CALL alaesm( path, ok, nout )
subroutine zpotrf(UPLO, N, A, LDA, INFO)
ZPOTRF VARIANT: right looking block version of the algorithm, calling Level 3 BLAS.
subroutine zpbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
ZPBTRS
subroutine zerrpo(PATH, NUNIT)
ZERRPO
subroutine zpprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPPRFS
subroutine zpptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
ZPPTRS
subroutine zporfsx(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)
ZPORFSX
logical function lsamen(N, CA, CB)
LSAMEN
subroutine zporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPORFS
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine zpbtf2(UPLO, N, KD, AB, LDAB, INFO)
ZPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine zpbtrf(UPLO, N, KD, AB, LDAB, INFO)
ZPBTRF
subroutine zppcon(UPLO, N, AP, ANORM, RCOND, WORK, RWORK, INFO)
ZPPCON
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zpbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, RWORK, INFO)
ZPBCON
subroutine zpbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPBRFS
subroutine zpoequb(N, A, LDA, S, SCOND, AMAX, INFO)
ZPOEQUB
subroutine zpbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
ZPBEQU
subroutine zpoequ(N, A, LDA, S, SCOND, AMAX, INFO)
ZPOEQU
subroutine zppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
ZPPEQU
subroutine zpptri(UPLO, N, AP, INFO)
ZPPTRI
subroutine zpotri(UPLO, N, A, LDA, INFO)
ZPOTRI
subroutine zpocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, RWORK, INFO)
ZPOCON
subroutine zpotf2(UPLO, N, A, LDA, INFO)
ZPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine zpptrf(UPLO, N, AP, INFO)
ZPPTRF
subroutine zpotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
ZPOTRS