77 DOUBLE PRECISION anrm, rcond
80 DOUBLE PRECISION r( nmax ), r1( nmax ), r2( nmax )
81 COMPLEX*16 a( nmax, nmax ), af( nmax, nmax ),
b( nmax ),
82 $ w( 2*nmax ),
x( nmax )
100 COMMON / infoc / infot, nout, ok, lerr
101 COMMON / srnamc / srnamt
104 INTRINSIC dble, dcmplx
109 WRITE( nout, fmt = * )
116 a( i,
j ) = dcmplx( 1.d0 / dble( i+
j ),
117 $ -1.d0 / dble( i+
j ) )
118 af( i,
j ) = dcmplx( 1.d0 / dble( i+
j ),
119 $ -1.d0 / dble( i+
j ) )
133 IF(
lsamen( 2, c2,
'PO' ) )
THEN
139 CALL
zpotrf(
'/', 0, a, 1, info )
140 CALL
chkxer(
'ZPOTRF', infot, nout, lerr, ok )
142 CALL
zpotrf(
'U', -1, a, 1, info )
143 CALL
chkxer(
'ZPOTRF', infot, nout, lerr, ok )
145 CALL
zpotrf(
'U', 2, a, 1, info )
146 CALL
chkxer(
'ZPOTRF', infot, nout, lerr, ok )
152 CALL
zpotf2(
'/', 0, a, 1, info )
153 CALL
chkxer(
'ZPOTF2', infot, nout, lerr, ok )
155 CALL
zpotf2(
'U', -1, a, 1, info )
156 CALL
chkxer(
'ZPOTF2', infot, nout, lerr, ok )
158 CALL
zpotf2(
'U', 2, a, 1, info )
159 CALL
chkxer(
'ZPOTF2', infot, nout, lerr, ok )
165 CALL
zpotri(
'/', 0, a, 1, info )
166 CALL
chkxer(
'ZPOTRI', infot, nout, lerr, ok )
168 CALL
zpotri(
'U', -1, a, 1, info )
169 CALL
chkxer(
'ZPOTRI', infot, nout, lerr, ok )
171 CALL
zpotri(
'U', 2, a, 1, info )
172 CALL
chkxer(
'ZPOTRI', infot, nout, lerr, ok )
178 CALL
zpotrs(
'/', 0, 0, a, 1,
b, 1, info )
179 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
181 CALL
zpotrs(
'U', -1, 0, a, 1,
b, 1, info )
182 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
184 CALL
zpotrs(
'U', 0, -1, a, 1,
b, 1, info )
185 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
187 CALL
zpotrs(
'U', 2, 1, a, 1,
b, 2, info )
188 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
190 CALL
zpotrs(
'U', 2, 1, a, 2,
b, 1, info )
191 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
197 CALL
zporfs(
'/', 0, 0, a, 1, af, 1,
b, 1,
x, 1, r1, r2, w, r,
199 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
201 CALL
zporfs(
'U', -1, 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', 0, -1, a, 1, af, 1,
b, 1,
x, 1, r1, r2, w, r,
207 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
209 CALL
zporfs(
'U', 2, 1, a, 1, af, 2,
b, 2,
x, 2, r1, r2, w, r,
211 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
213 CALL
zporfs(
'U', 2, 1, a, 2, af, 1,
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, 2,
b, 1,
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, 2,
x, 1, r1, r2, w, r,
223 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
229 CALL
zpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
230 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
232 CALL
zpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
233 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
235 CALL
zpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
236 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
238 CALL
zpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
239 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
245 CALL
zpoequ( -1, a, 1, r1, rcond, anrm, info )
246 CALL
chkxer(
'ZPOEQU', infot, nout, lerr, ok )
248 CALL
zpoequ( 2, a, 1, r1, rcond, anrm, info )
249 CALL
chkxer(
'ZPOEQU', infot, nout, lerr, ok )
254 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
260 CALL
zpptrf(
'/', 0, a, info )
261 CALL
chkxer(
'ZPPTRF', infot, nout, lerr, ok )
263 CALL
zpptrf(
'U', -1, a, info )
264 CALL
chkxer(
'ZPPTRF', infot, nout, lerr, ok )
270 CALL
zpptri(
'/', 0, a, info )
271 CALL
chkxer(
'ZPPTRI', infot, nout, lerr, ok )
273 CALL
zpptri(
'U', -1, a, info )
274 CALL
chkxer(
'ZPPTRI', infot, nout, lerr, ok )
280 CALL
zpptrs(
'/', 0, 0, a,
b, 1, info )
281 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
283 CALL
zpptrs(
'U', -1, 0, a,
b, 1, info )
284 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
286 CALL
zpptrs(
'U', 0, -1, a,
b, 1, info )
287 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
289 CALL
zpptrs(
'U', 2, 1, a,
b, 1, info )
290 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
296 CALL
zpprfs(
'/', 0, 0, a, af,
b, 1,
x, 1, r1, r2, w, r, info )
297 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
299 CALL
zpprfs(
'U', -1, 0, a, af,
b, 1,
x, 1, r1, r2, w, r,
301 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
303 CALL
zpprfs(
'U', 0, -1, a, af,
b, 1,
x, 1, r1, r2, w, r,
305 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
307 CALL
zpprfs(
'U', 2, 1, a, af,
b, 1,
x, 2, r1, r2, w, r, info )
308 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
310 CALL
zpprfs(
'U', 2, 1, a, af,
b, 2,
x, 1, r1, r2, w, r, info )
311 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
317 CALL
zppcon(
'/', 0, 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 )
323 CALL
zppcon(
'U', 1, a, -anrm, rcond, w, r, info )
324 CALL
chkxer(
'ZPPCON', infot, nout, lerr, ok )
330 CALL
zppequ(
'/', 0, a, r1, rcond, anrm, info )
331 CALL
chkxer(
'ZPPEQU', infot, nout, lerr, ok )
333 CALL
zppequ(
'U', -1, a, r1, rcond, anrm, info )
334 CALL
chkxer(
'ZPPEQU', infot, nout, lerr, ok )
339 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
345 CALL
zpbtrf(
'/', 0, 0, a, 1, info )
346 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
348 CALL
zpbtrf(
'U', -1, 0, a, 1, info )
349 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
351 CALL
zpbtrf(
'U', 1, -1, a, 1, info )
352 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
354 CALL
zpbtrf(
'U', 2, 1, a, 1, info )
355 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
361 CALL
zpbtf2(
'/', 0, 0, a, 1, info )
362 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
364 CALL
zpbtf2(
'U', -1, 0, a, 1, info )
365 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
367 CALL
zpbtf2(
'U', 1, -1, a, 1, info )
368 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
370 CALL
zpbtf2(
'U', 2, 1, a, 1, info )
371 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
377 CALL
zpbtrs(
'/', 0, 0, 0, a, 1,
b, 1, info )
378 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
380 CALL
zpbtrs(
'U', -1, 0, 0, a, 1,
b, 1, info )
381 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
383 CALL
zpbtrs(
'U', 1, -1, 0, a, 1,
b, 1, info )
384 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
386 CALL
zpbtrs(
'U', 0, 0, -1, a, 1,
b, 1, info )
387 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
389 CALL
zpbtrs(
'U', 2, 1, 1, a, 1,
b, 1, info )
390 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
392 CALL
zpbtrs(
'U', 2, 0, 1, a, 1,
b, 1, info )
393 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
399 CALL
zpbrfs(
'/', 0, 0, 0, a, 1, af, 1,
b, 1,
x, 1, r1, r2, w,
401 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
403 CALL
zpbrfs(
'U', -1, 0, 0, a, 1, af, 1,
b, 1,
x, 1, r1, r2, w,
405 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
407 CALL
zpbrfs(
'U', 1, -1, 0, a, 1, af, 1,
b, 1,
x, 1, r1, r2, w,
409 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
411 CALL
zpbrfs(
'U', 0, 0, -1, a, 1, af, 1,
b, 1,
x, 1, r1, r2, w,
413 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
415 CALL
zpbrfs(
'U', 2, 1, 1, a, 1, af, 2,
b, 2,
x, 2, r1, r2, w,
417 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
419 CALL
zpbrfs(
'U', 2, 1, 1, a, 2, af, 1,
b, 2,
x, 2, r1, r2, w,
421 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
423 CALL
zpbrfs(
'U', 2, 0, 1, a, 1, af, 1,
b, 1,
x, 2, r1, r2, w,
425 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
427 CALL
zpbrfs(
'U', 2, 0, 1, a, 1, af, 1,
b, 2,
x, 1, r1, r2, w,
429 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
435 CALL
zpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
436 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
438 CALL
zpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
439 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
441 CALL
zpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
442 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
444 CALL
zpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
445 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
447 CALL
zpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
448 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
454 CALL
zpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
455 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
457 CALL
zpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
458 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
460 CALL
zpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
461 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
463 CALL
zpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
464 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
469 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 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 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...
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
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 zpocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, RWORK, INFO)
ZPOCON