77 DOUBLE PRECISION ANRM, RCOND
81 DOUBLE PRECISION A( nmax, nmax ), AF( nmax, nmax ), B( nmax ),
82 $ r1( nmax ), r2( nmax ), w( 3*nmax ), x( nmax )
100 COMMON / infoc / infot, nout, ok, lerr
101 COMMON / srnamc / srnamt
109 WRITE( nout, fmt = * )
116 a( i, j ) = 1.d0 / dble( i+j )
117 af( i, j ) = 1.d0 / dble( i+j )
128 IF( lsamen( 2, c2,
'PO' ) )
THEN
137 CALL
dpotrf(
'/', 0, a, 1, info )
138 CALL
chkxer(
'DPOTRF', infot, nout, lerr, ok )
140 CALL
dpotrf(
'U', -1, a, 1, info )
141 CALL
chkxer(
'DPOTRF', infot, nout, lerr, ok )
143 CALL
dpotrf(
'U', 2, a, 1, info )
144 CALL
chkxer(
'DPOTRF', infot, nout, lerr, ok )
150 CALL
dpotf2(
'/', 0, a, 1, info )
151 CALL
chkxer(
'DPOTF2', infot, nout, lerr, ok )
153 CALL
dpotf2(
'U', -1, a, 1, info )
154 CALL
chkxer(
'DPOTF2', infot, nout, lerr, ok )
156 CALL
dpotf2(
'U', 2, a, 1, info )
157 CALL
chkxer(
'DPOTF2', infot, nout, lerr, ok )
163 CALL
dpotri(
'/', 0, a, 1, info )
164 CALL
chkxer(
'DPOTRI', infot, nout, lerr, ok )
166 CALL
dpotri(
'U', -1, a, 1, info )
167 CALL
chkxer(
'DPOTRI', infot, nout, lerr, ok )
169 CALL
dpotri(
'U', 2, a, 1, info )
170 CALL
chkxer(
'DPOTRI', infot, nout, lerr, ok )
176 CALL
dpotrs(
'/', 0, 0, a, 1, b, 1, info )
177 CALL
chkxer(
'DPOTRS', infot, nout, lerr, ok )
179 CALL
dpotrs(
'U', -1, 0, a, 1, b, 1, info )
180 CALL
chkxer(
'DPOTRS', infot, nout, lerr, ok )
182 CALL
dpotrs(
'U', 0, -1, a, 1, b, 1, info )
183 CALL
chkxer(
'DPOTRS', infot, nout, lerr, ok )
185 CALL
dpotrs(
'U', 2, 1, a, 1, b, 2, info )
186 CALL
chkxer(
'DPOTRS', infot, nout, lerr, ok )
188 CALL
dpotrs(
'U', 2, 1, a, 2, b, 1, info )
189 CALL
chkxer(
'DPOTRS', infot, nout, lerr, ok )
195 CALL
dporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, iw,
197 CALL
chkxer(
'DPORFS', infot, nout, lerr, ok )
199 CALL
dporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
201 CALL
chkxer(
'DPORFS', infot, nout, lerr, ok )
203 CALL
dporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
205 CALL
chkxer(
'DPORFS', infot, nout, lerr, ok )
207 CALL
dporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, iw,
209 CALL
chkxer(
'DPORFS', infot, nout, lerr, ok )
211 CALL
dporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, iw,
213 CALL
chkxer(
'DPORFS', infot, nout, lerr, ok )
215 CALL
dporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, iw,
217 CALL
chkxer(
'DPORFS', infot, nout, lerr, ok )
219 CALL
dporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, iw,
221 CALL
chkxer(
'DPORFS', infot, nout, lerr, ok )
227 CALL
dpocon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
228 CALL
chkxer(
'DPOCON', infot, nout, lerr, ok )
230 CALL
dpocon(
'U', -1, a, 1, anrm, rcond, w, iw, info )
231 CALL
chkxer(
'DPOCON', infot, nout, lerr, ok )
233 CALL
dpocon(
'U', 2, a, 1, anrm, rcond, w, iw, info )
234 CALL
chkxer(
'DPOCON', infot, nout, lerr, ok )
240 CALL
dpoequ( -1, a, 1, r1, rcond, anrm, info )
241 CALL
chkxer(
'DPOEQU', infot, nout, lerr, ok )
243 CALL
dpoequ( 2, a, 1, r1, rcond, anrm, info )
244 CALL
chkxer(
'DPOEQU', infot, nout, lerr, ok )
246 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
255 CALL
dpptrf(
'/', 0, a, info )
256 CALL
chkxer(
'DPPTRF', infot, nout, lerr, ok )
258 CALL
dpptrf(
'U', -1, a, info )
259 CALL
chkxer(
'DPPTRF', infot, nout, lerr, ok )
265 CALL
dpptri(
'/', 0, a, info )
266 CALL
chkxer(
'DPPTRI', infot, nout, lerr, ok )
268 CALL
dpptri(
'U', -1, a, info )
269 CALL
chkxer(
'DPPTRI', infot, nout, lerr, ok )
275 CALL
dpptrs(
'/', 0, 0, a, b, 1, info )
276 CALL
chkxer(
'DPPTRS', infot, nout, lerr, ok )
278 CALL
dpptrs(
'U', -1, 0, a, b, 1, info )
279 CALL
chkxer(
'DPPTRS', infot, nout, lerr, ok )
281 CALL
dpptrs(
'U', 0, -1, a, b, 1, info )
282 CALL
chkxer(
'DPPTRS', infot, nout, lerr, ok )
284 CALL
dpptrs(
'U', 2, 1, a, b, 1, info )
285 CALL
chkxer(
'DPPTRS', infot, nout, lerr, ok )
291 CALL
dpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
293 CALL
chkxer(
'DPPRFS', infot, nout, lerr, ok )
295 CALL
dpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
297 CALL
chkxer(
'DPPRFS', infot, nout, lerr, ok )
299 CALL
dpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, iw,
301 CALL
chkxer(
'DPPRFS', infot, nout, lerr, ok )
303 CALL
dpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, iw,
305 CALL
chkxer(
'DPPRFS', infot, nout, lerr, ok )
307 CALL
dpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, iw,
309 CALL
chkxer(
'DPPRFS', infot, nout, lerr, ok )
315 CALL
dppcon(
'/', 0, a, anrm, rcond, w, iw, info )
316 CALL
chkxer(
'DPPCON', infot, nout, lerr, ok )
318 CALL
dppcon(
'U', -1, a, anrm, rcond, w, iw, info )
319 CALL
chkxer(
'DPPCON', infot, nout, lerr, ok )
325 CALL
dppequ(
'/', 0, a, r1, rcond, anrm, info )
326 CALL
chkxer(
'DPPEQU', infot, nout, lerr, ok )
328 CALL
dppequ(
'U', -1, a, r1, rcond, anrm, info )
329 CALL
chkxer(
'DPPEQU', infot, nout, lerr, ok )
331 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
340 CALL
dpbtrf(
'/', 0, 0, a, 1, info )
341 CALL
chkxer(
'DPBTRF', infot, nout, lerr, ok )
343 CALL
dpbtrf(
'U', -1, 0, a, 1, info )
344 CALL
chkxer(
'DPBTRF', infot, nout, lerr, ok )
346 CALL
dpbtrf(
'U', 1, -1, a, 1, info )
347 CALL
chkxer(
'DPBTRF', infot, nout, lerr, ok )
349 CALL
dpbtrf(
'U', 2, 1, a, 1, info )
350 CALL
chkxer(
'DPBTRF', infot, nout, lerr, ok )
356 CALL
dpbtf2(
'/', 0, 0, a, 1, info )
357 CALL
chkxer(
'DPBTF2', infot, nout, lerr, ok )
359 CALL
dpbtf2(
'U', -1, 0, a, 1, info )
360 CALL
chkxer(
'DPBTF2', infot, nout, lerr, ok )
362 CALL
dpbtf2(
'U', 1, -1, a, 1, info )
363 CALL
chkxer(
'DPBTF2', infot, nout, lerr, ok )
365 CALL
dpbtf2(
'U', 2, 1, a, 1, info )
366 CALL
chkxer(
'DPBTF2', infot, nout, lerr, ok )
372 CALL
dpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
373 CALL
chkxer(
'DPBTRS', infot, nout, lerr, ok )
375 CALL
dpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
376 CALL
chkxer(
'DPBTRS', infot, nout, lerr, ok )
378 CALL
dpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
379 CALL
chkxer(
'DPBTRS', infot, nout, lerr, ok )
381 CALL
dpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
382 CALL
chkxer(
'DPBTRS', infot, nout, lerr, ok )
384 CALL
dpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
385 CALL
chkxer(
'DPBTRS', infot, nout, lerr, ok )
387 CALL
dpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
388 CALL
chkxer(
'DPBTRS', infot, nout, lerr, ok )
394 CALL
dpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
396 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
398 CALL
dpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
400 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
402 CALL
dpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
404 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
406 CALL
dpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
408 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
410 CALL
dpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
412 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
414 CALL
dpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
416 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
418 CALL
dpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
420 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
422 CALL
dpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
424 CALL
chkxer(
'DPBRFS', infot, nout, lerr, ok )
430 CALL
dpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, iw, info )
431 CALL
chkxer(
'DPBCON', infot, nout, lerr, ok )
433 CALL
dpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, iw, info )
434 CALL
chkxer(
'DPBCON', infot, nout, lerr, ok )
436 CALL
dpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, iw, info )
437 CALL
chkxer(
'DPBCON', infot, nout, lerr, ok )
439 CALL
dpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, iw, info )
440 CALL
chkxer(
'DPBCON', infot, nout, lerr, ok )
446 CALL
dpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
447 CALL
chkxer(
'DPBEQU', infot, nout, lerr, ok )
449 CALL
dpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
450 CALL
chkxer(
'DPBEQU', infot, nout, lerr, ok )
452 CALL
dpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
453 CALL
chkxer(
'DPBEQU', infot, nout, lerr, ok )
455 CALL
dpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
456 CALL
chkxer(
'DPBEQU', infot, nout, lerr, ok )
461 CALL
alaesm( path, ok, nout )
subroutine dpotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
DPOTRS
subroutine dpotf2(UPLO, N, A, LDA, INFO)
DPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine dpbtf2(UPLO, N, KD, AB, LDAB, INFO)
DPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine dpptri(UPLO, N, AP, INFO)
DPPTRI
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine dpptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
DPPTRS
subroutine derrpo(PATH, NUNIT)
DERRPO
subroutine dpbtrf(UPLO, N, KD, AB, LDAB, INFO)
DPBTRF
subroutine dpbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, IWORK, INFO)
DPBCON
subroutine dpptrf(UPLO, N, AP, INFO)
DPPTRF
subroutine dporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DPORFS
subroutine dppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
DPPEQU
subroutine dpoequ(N, A, LDA, S, SCOND, AMAX, INFO)
DPOEQU
subroutine dppcon(UPLO, N, AP, ANORM, RCOND, WORK, IWORK, INFO)
DPPCON
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine dpocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, IWORK, INFO)
DPOCON
subroutine dpotri(UPLO, N, A, LDA, INFO)
DPOTRI
subroutine dpprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DPPRFS
subroutine dpotrf(UPLO, N, A, LDA, INFO)
DPOTRF
subroutine dpbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
DPBRFS
subroutine dpbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
DPBTRS
subroutine dpbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
DPBEQU