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', eq, -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 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 zpotrf(UPLO, N, A, LDA, INFO)
ZPOTRF VARIANT: right looking block version of the algorithm, calling Level 3 BLAS.
subroutine zpbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPBRFS
subroutine zpptri(UPLO, N, AP, INFO)
ZPPTRI
subroutine zpbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, RWORK, INFO)
ZPBCON
subroutine zpbtrf(UPLO, N, KD, AB, LDAB, INFO)
ZPBTRF
subroutine zpoequb(N, A, LDA, S, SCOND, AMAX, INFO)
ZPOEQUB
subroutine zpotri(UPLO, N, A, LDA, INFO)
ZPOTRI
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zpptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
ZPPTRS
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine zpptrf(UPLO, N, AP, INFO)
ZPPTRF
subroutine zpprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZPPRFS
subroutine zpbtf2(UPLO, N, KD, AB, LDAB, INFO)
ZPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
logical function lsamen(N, CA, CB)
LSAMEN
subroutine zpoequ(N, A, LDA, S, SCOND, AMAX, INFO)
ZPOEQU
subroutine zpbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
ZPBEQU
subroutine zerrpo(PATH, NUNIT)
ZERRPO
subroutine zppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
ZPPEQU
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine zpotf2(UPLO, N, A, LDA, INFO)
ZPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine zppcon(UPLO, N, AP, ANORM, RCOND, WORK, RWORK, INFO)
ZPPCON
subroutine zpbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
ZPBTRS
subroutine zpotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
ZPOTRS
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 zpocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, RWORK, INFO)
ZPOCON