72 parameter ( nmax = 4 )
81 REAL 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. /
REAL( i+j )
117 af( i, j ) = 1. /
REAL( i+j )
128 IF(
lsamen( 2, c2,
'PO' ) )
THEN
137 CALL spotrf(
'/', 0, a, 1, info )
138 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
140 CALL spotrf(
'U', -1, a, 1, info )
141 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
143 CALL spotrf(
'U', 2, a, 1, info )
144 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
150 CALL spotf2(
'/', 0, a, 1, info )
151 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
153 CALL spotf2(
'U', -1, a, 1, info )
154 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
156 CALL spotf2(
'U', 2, a, 1, info )
157 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
163 CALL spotri(
'/', 0, a, 1, info )
164 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
166 CALL spotri(
'U', -1, a, 1, info )
167 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
169 CALL spotri(
'U', 2, a, 1, info )
170 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
176 CALL spotrs(
'/', 0, 0, a, 1, b, 1, info )
177 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
179 CALL spotrs(
'U', -1, 0, a, 1, b, 1, info )
180 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
182 CALL spotrs(
'U', 0, -1, a, 1, b, 1, info )
183 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
185 CALL spotrs(
'U', 2, 1, a, 1, b, 2, info )
186 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
188 CALL spotrs(
'U', 2, 1, a, 2, b, 1, info )
189 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
195 CALL sporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, iw,
197 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
199 CALL sporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
201 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
203 CALL sporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
205 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
207 CALL sporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, iw,
209 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
211 CALL sporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, iw,
213 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
215 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, iw,
217 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
219 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, iw,
221 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
227 CALL spocon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
228 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
230 CALL spocon(
'U', -1, a, 1, anrm, rcond, w, iw, info )
231 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
233 CALL spocon(
'U', 2, a, 1, anrm, rcond, w, iw, info )
234 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
240 CALL spoequ( -1, a, 1, r1, rcond, anrm, info )
241 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
243 CALL spoequ( 2, a, 1, r1, rcond, anrm, info )
244 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
246 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
255 CALL spptrf(
'/', 0, a, info )
256 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
258 CALL spptrf(
'U', -1, a, info )
259 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
265 CALL spptri(
'/', 0, a, info )
266 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
268 CALL spptri(
'U', -1, a, info )
269 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
275 CALL spptrs(
'/', 0, 0, a, b, 1, info )
276 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
278 CALL spptrs(
'U', -1, 0, a, b, 1, info )
279 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
281 CALL spptrs(
'U', 0, -1, a, b, 1, info )
282 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
284 CALL spptrs(
'U', 2, 1, a, b, 1, info )
285 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
291 CALL spprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
293 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
295 CALL spprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
297 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
299 CALL spprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, iw,
301 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
303 CALL spprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, iw,
305 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
307 CALL spprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, iw,
309 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
315 CALL sppcon(
'/', 0, a, anrm, rcond, w, iw, info )
316 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
318 CALL sppcon(
'U', -1, a, anrm, rcond, w, iw, info )
319 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
325 CALL sppequ(
'/', 0, a, r1, rcond, anrm, info )
326 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
328 CALL sppequ(
'U', -1, a, r1, rcond, anrm, info )
329 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
331 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
340 CALL spbtrf(
'/', 0, 0, a, 1, info )
341 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
343 CALL spbtrf(
'U', -1, 0, a, 1, info )
344 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
346 CALL spbtrf(
'U', 1, -1, a, 1, info )
347 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
349 CALL spbtrf(
'U', 2, 1, a, 1, info )
350 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
356 CALL spbtf2(
'/', 0, 0, a, 1, info )
357 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
359 CALL spbtf2(
'U', -1, 0, a, 1, info )
360 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
362 CALL spbtf2(
'U', 1, -1, a, 1, info )
363 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
365 CALL spbtf2(
'U', 2, 1, a, 1, info )
366 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
372 CALL spbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
373 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
375 CALL spbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
376 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
378 CALL spbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
379 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
381 CALL spbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
382 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
384 CALL spbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
385 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
387 CALL spbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
388 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
394 CALL spbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
396 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
398 CALL spbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
400 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
402 CALL spbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
404 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
406 CALL spbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
408 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
410 CALL spbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
412 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
414 CALL spbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
416 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
418 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
420 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
422 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
424 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
430 CALL spbcon(
'/', 0, 0, a, 1, anrm, rcond, w, iw, info )
431 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
433 CALL spbcon(
'U', -1, 0, a, 1, anrm, rcond, w, iw, info )
434 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
436 CALL spbcon(
'U', 1, -1, a, 1, anrm, rcond, w, iw, info )
437 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
439 CALL spbcon(
'U', 2, 1, a, 1, anrm, rcond, w, iw, info )
440 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
446 CALL spbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
447 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
449 CALL spbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
450 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
452 CALL spbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
453 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
455 CALL spbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
456 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
461 CALL alaesm( path, ok, nout )
subroutine sppcon(UPLO, N, AP, ANORM, RCOND, WORK, IWORK, INFO)
SPPCON
subroutine sporfs(UPLO, N, NRHS, A, LDA, AF, LDAF, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPORFS
subroutine spbequ(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, INFO)
SPBEQU
subroutine spptrs(UPLO, N, NRHS, AP, B, LDB, INFO)
SPPTRS
logical function lsamen(N, CA, CB)
LSAMEN
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine spbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, IWORK, INFO)
SPBCON
subroutine spbtrs(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
SPBTRS
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine spotrf(UPLO, N, A, LDA, INFO)
SPOTRF
subroutine spbrfs(UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPBRFS
subroutine spptri(UPLO, N, AP, INFO)
SPPTRI
subroutine spotf2(UPLO, N, A, LDA, INFO)
SPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
subroutine spbtrf(UPLO, N, KD, AB, LDAB, INFO)
SPBTRF
subroutine spotrs(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
SPOTRS
subroutine spoequ(N, A, LDA, S, SCOND, AMAX, INFO)
SPOEQU
subroutine spocon(UPLO, N, A, LDA, ANORM, RCOND, WORK, IWORK, INFO)
SPOCON
subroutine spbtf2(UPLO, N, KD, AB, LDAB, INFO)
SPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine spptrf(UPLO, N, AP, INFO)
SPPTRF
subroutine spprfs(UPLO, N, NRHS, AP, AFP, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SPPRFS
subroutine spotri(UPLO, N, A, LDA, INFO)
SPOTRI
subroutine sppequ(UPLO, N, AP, S, SCOND, AMAX, INFO)
SPPEQU