77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 DOUBLE PRECISION ANRM, RCOND, BERR
81 DOUBLE PRECISION S( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
82 $ ERR_BNDS_N( NMAX, 3 ), ERR_BNDS_C( NMAX, 3 ),
84 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
85 $ W( 2*NMAX ), X( NMAX )
103 COMMON / infoc / infot, nout, ok, lerr
104 COMMON / srnamc / srnamt
107 INTRINSIC dble, dcmplx
112 WRITE( nout, fmt = * )
119 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
120 $ -1.d0 / dble( i+j ) )
121 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
122 $ -1.d0 / dble( i+j ) )
137 IF( lsamen( 2, c2,
'PO' ) )
THEN
143 CALL zpotrf(
'/', 0, a, 1, info )
144 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
146 CALL zpotrf(
'U', -1, a, 1, info )
147 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
149 CALL zpotrf(
'U', 2, a, 1, info )
150 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
156 CALL zpotf2(
'/', 0, a, 1, info )
157 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
159 CALL zpotf2(
'U', -1, a, 1, info )
160 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
162 CALL zpotf2(
'U', 2, a, 1, info )
163 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
169 CALL zpotri(
'/', 0, a, 1, info )
170 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
172 CALL zpotri(
'U', -1, a, 1, info )
173 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
175 CALL zpotri(
'U', 2, a, 1, info )
176 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
182 CALL zpotrs(
'/', 0, 0, a, 1, b, 1, info )
183 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
185 CALL zpotrs(
'U', -1, 0, a, 1, b, 1, info )
186 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
188 CALL zpotrs(
'U', 0, -1, a, 1, b, 1, info )
189 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
191 CALL zpotrs(
'U', 2, 1, a, 1, b, 2, info )
192 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
194 CALL zpotrs(
'U', 2, 1, a, 2, b, 1, info )
195 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
201 CALL zporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
203 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
205 CALL zporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
207 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
209 CALL zporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
211 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
213 CALL zporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
215 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
217 CALL zporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
219 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
221 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
223 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
225 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
227 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
235 CALL zporfsx(
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
236 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
237 $ params, w, r, info )
238 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
240 CALL zporfsx(
'U',
"/", -1, 0, a, 1, af, 1, s, b, 1, x, 1,
241 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
242 $ params, w, r, info )
243 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
246 CALL zporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
247 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
248 $ params, w, r, info )
249 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
251 CALL zporfsx(
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
252 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
253 $ params, w, r, info )
254 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
256 CALL zporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
257 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
258 $ params, w, r, info )
259 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
261 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
262 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
263 $ params, w, r, info )
264 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
266 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
267 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
268 $ params, w, r, info )
269 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
271 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
272 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
273 $ params, w, r, info )
274 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
280 CALL zpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
281 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
283 CALL zpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
284 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
286 CALL zpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
287 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
289 CALL zpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
290 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
296 CALL zpoequ( -1, a, 1, r1, rcond, anrm, info )
297 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
299 CALL zpoequ( 2, a, 1, r1, rcond, anrm, info )
300 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
306 CALL zpoequb( -1, a, 1, r1, rcond, anrm, info )
307 CALL chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
309 CALL zpoequb( 2, a, 1, r1, rcond, anrm, info )
310 CALL chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
315 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
321 CALL zpptrf(
'/', 0, a, info )
322 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
324 CALL zpptrf(
'U', -1, a, info )
325 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
331 CALL zpptri(
'/', 0, a, info )
332 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
334 CALL zpptri(
'U', -1, a, info )
335 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
341 CALL zpptrs(
'/', 0, 0, a, b, 1, info )
342 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
344 CALL zpptrs(
'U', -1, 0, a, b, 1, info )
345 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
347 CALL zpptrs(
'U', 0, -1, a, b, 1, info )
348 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
350 CALL zpptrs(
'U', 2, 1, a, b, 1, info )
351 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
357 CALL zpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
358 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
360 CALL zpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
362 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
364 CALL zpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
366 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
368 CALL zpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
369 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
371 CALL zpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
372 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
378 CALL zppcon(
'/', 0, a, anrm, rcond, w, r, info )
379 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
381 CALL zppcon(
'U', -1, 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 )
391 CALL zppequ(
'/', 0, a, r1, rcond, anrm, info )
392 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
394 CALL zppequ(
'U', -1, a, r1, rcond, anrm, info )
395 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
400 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
406 CALL zpbtrf(
'/', 0, 0, a, 1, info )
407 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
409 CALL zpbtrf(
'U', -1, 0, a, 1, info )
410 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
412 CALL zpbtrf(
'U', 1, -1, a, 1, info )
413 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
415 CALL zpbtrf(
'U', 2, 1, a, 1, info )
416 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
422 CALL zpbtf2(
'/', 0, 0, a, 1, info )
423 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
425 CALL zpbtf2(
'U', -1, 0, a, 1, info )
426 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
428 CALL zpbtf2(
'U', 1, -1, a, 1, info )
429 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
431 CALL zpbtf2(
'U', 2, 1, a, 1, info )
432 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
438 CALL zpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
439 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
441 CALL zpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
442 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
444 CALL zpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
445 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
447 CALL zpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
448 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
450 CALL zpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
451 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
453 CALL zpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
454 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
460 CALL zpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
462 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
464 CALL zpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
466 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
468 CALL zpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
470 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
472 CALL zpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
474 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
476 CALL zpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
478 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
480 CALL zpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
482 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
484 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
486 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
488 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
490 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
496 CALL zpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
497 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
499 CALL zpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
500 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
502 CALL zpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
503 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
505 CALL zpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
506 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
508 CALL zpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
509 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
515 CALL zpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
516 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
518 CALL zpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
519 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
521 CALL zpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
522 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
524 CALL zpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
525 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
530 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine zpbcon(uplo, n, kd, ab, ldab, anorm, rcond, work, rwork, info)
ZPBCON
subroutine zpbequ(uplo, n, kd, ab, ldab, s, scond, amax, info)
ZPBEQU
subroutine zpbrfs(uplo, n, kd, nrhs, ab, ldab, afb, ldafb, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZPBRFS
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 zpbtrs(uplo, n, kd, nrhs, ab, ldab, b, ldb, info)
ZPBTRS
subroutine zpocon(uplo, n, a, lda, anorm, rcond, work, rwork, info)
ZPOCON
subroutine zpoequ(n, a, lda, s, scond, amax, info)
ZPOEQU
subroutine zpoequb(n, a, lda, s, scond, amax, info)
ZPOEQUB
subroutine zporfs(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZPORFS
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
subroutine zpotf2(uplo, n, a, lda, info)
ZPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine zpotrf(uplo, n, a, lda, info)
ZPOTRF
subroutine zpotri(uplo, n, a, lda, info)
ZPOTRI
subroutine zpotrs(uplo, n, nrhs, a, lda, b, ldb, info)
ZPOTRS
subroutine zppcon(uplo, n, ap, anorm, rcond, work, rwork, info)
ZPPCON
subroutine zppequ(uplo, n, ap, s, scond, amax, info)
ZPPEQU
subroutine zpprfs(uplo, n, nrhs, ap, afp, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZPPRFS
subroutine zpptrf(uplo, n, ap, info)
ZPPTRF
subroutine zpptri(uplo, n, ap, info)
ZPPTRI
subroutine zpptrs(uplo, n, nrhs, ap, b, ldb, info)
ZPPTRS
subroutine zerrpo(path, nunit)
ZERRPO