74 DOUBLE PRECISION ANRM, RCOND
77 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX )
78 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
79 $ W( 2*NMAX ), X( NMAX )
97 COMMON / infoc / infot, nout, ok, lerr
98 COMMON / srnamc / srnamt
101 INTRINSIC dble, dcmplx
106 WRITE( nout, fmt = * )
113 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
114 $ -1.d0 / dble( i+j ) )
115 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
116 $ -1.d0 / dble( i+j ) )
130 IF( lsamen( 2, c2,
'PO' ) )
THEN
136 CALL zpotrf(
'/', 0, a, 1, info )
137 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
139 CALL zpotrf(
'U', -1, a, 1, info )
140 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
142 CALL zpotrf(
'U', 2, a, 1, info )
143 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
149 CALL zpotf2(
'/', 0, a, 1, info )
150 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
152 CALL zpotf2(
'U', -1, a, 1, info )
153 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
155 CALL zpotf2(
'U', 2, a, 1, info )
156 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
162 CALL zpotri(
'/', 0, a, 1, info )
163 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
165 CALL zpotri(
'U', -1, a, 1, info )
166 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
168 CALL zpotri(
'U', 2, a, 1, info )
169 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
175 CALL zpotrs(
'/', 0, 0, a, 1, b, 1, info )
176 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
178 CALL zpotrs(
'U', -1, 0, a, 1, b, 1, info )
179 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
181 CALL zpotrs(
'U', 0, -1, a, 1, b, 1, info )
182 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
184 CALL zpotrs(
'U', 2, 1, a, 1, b, 2, info )
185 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
187 CALL zpotrs(
'U', 2, 1, a, 2, b, 1, info )
188 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
194 CALL zporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
196 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
198 CALL zporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
200 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
202 CALL zporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
204 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
206 CALL zporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
208 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
210 CALL zporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
212 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
214 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
216 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
218 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
220 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
226 CALL zpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
227 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
229 CALL zpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
230 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
232 CALL zpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
233 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
235 CALL zpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
236 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
242 CALL zpoequ( -1, a, 1, r1, rcond, anrm, info )
243 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
245 CALL zpoequ( 2, a, 1, r1, rcond, anrm, info )
246 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
251 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
257 CALL zpptrf(
'/', 0, a, info )
258 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
260 CALL zpptrf(
'U', -1, a, info )
261 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
267 CALL zpptri(
'/', 0, a, info )
268 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
270 CALL zpptri(
'U', -1, a, info )
271 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
277 CALL zpptrs(
'/', 0, 0, a, b, 1, info )
278 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
280 CALL zpptrs(
'U', -1, 0, a, b, 1, info )
281 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
283 CALL zpptrs(
'U', 0, -1, a, b, 1, info )
284 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
286 CALL zpptrs(
'U', 2, 1, a, b, 1, info )
287 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
293 CALL zpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
294 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
296 CALL zpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
298 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
300 CALL zpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
302 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
304 CALL zpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
305 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
307 CALL zpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
308 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
314 CALL zppcon(
'/', 0, a, anrm, rcond, w, r, info )
315 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
317 CALL zppcon(
'U', -1, a, anrm, rcond, w, r, info )
318 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
320 CALL zppcon(
'U', 1, a, -anrm, rcond, w, r, info )
321 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
327 CALL zppequ(
'/', 0, a, r1, rcond, anrm, info )
328 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
330 CALL zppequ(
'U', -1, a, r1, rcond, anrm, info )
331 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
336 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
342 CALL zpbtrf(
'/', 0, 0, a, 1, info )
343 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
345 CALL zpbtrf(
'U', -1, 0, a, 1, info )
346 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
348 CALL zpbtrf(
'U', 1, -1, a, 1, info )
349 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
351 CALL zpbtrf(
'U', 2, 1, a, 1, info )
352 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
358 CALL zpbtf2(
'/', 0, 0, a, 1, info )
359 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
361 CALL zpbtf2(
'U', -1, 0, a, 1, info )
362 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
364 CALL zpbtf2(
'U', 1, -1, a, 1, info )
365 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
367 CALL zpbtf2(
'U', 2, 1, a, 1, info )
368 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
374 CALL zpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
375 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
377 CALL zpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
378 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
380 CALL zpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
381 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
383 CALL zpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
384 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
386 CALL zpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
387 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
389 CALL zpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
390 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
396 CALL zpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
398 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
400 CALL zpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
402 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
404 CALL zpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
406 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
408 CALL zpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
410 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
412 CALL zpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
414 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
416 CALL zpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
418 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
420 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
422 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
424 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
426 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
432 CALL zpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
433 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
435 CALL zpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
436 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
438 CALL zpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
439 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
441 CALL zpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
442 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
444 CALL zpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
445 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
451 CALL zpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
452 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
454 CALL zpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
455 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
457 CALL zpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
458 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
460 CALL zpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
461 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
466 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 zporfs(uplo, n, nrhs, a, lda, af, ldaf, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZPORFS
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