72 parameter ( nmax = 4 )
80 INTEGER ip( nmax ), iw( nmax )
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 )
131 IF(
lsamen( 2, c2,
'SY' ) )
THEN
141 CALL ssytrf(
'/', 0, a, 1, ip, w, 1, info )
142 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
144 CALL ssytrf(
'U', -1, a, 1, ip, w, 1, info )
145 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
147 CALL ssytrf(
'U', 2, a, 1, ip, w, 4, info )
148 CALL chkxer(
'SSYTRF', infot, nout, lerr, ok )
154 CALL ssytf2(
'/', 0, a, 1, ip, info )
155 CALL chkxer(
'SSYTF2', infot, nout, lerr, ok )
157 CALL ssytf2(
'U', -1, a, 1, ip, info )
158 CALL chkxer(
'SSYTF2', infot, nout, lerr, ok )
160 CALL ssytf2(
'U', 2, a, 1, ip, info )
161 CALL chkxer(
'SSYTF2', infot, nout, lerr, ok )
167 CALL ssytri(
'/', 0, a, 1, ip, w, info )
168 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
170 CALL ssytri(
'U', -1, a, 1, ip, w, info )
171 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
173 CALL ssytri(
'U', 2, a, 1, ip, w, info )
174 CALL chkxer(
'SSYTRI', infot, nout, lerr, ok )
180 CALL ssytri2(
'/', 0, a, 1, ip, w, iw(1), info )
181 CALL chkxer(
'SSYTRI2', infot, nout, lerr, ok )
183 CALL ssytri2(
'U', -1, a, 1, ip, w, iw(1), info )
184 CALL chkxer(
'SSYTRI2', infot, nout, lerr, ok )
186 CALL ssytri2(
'U', 2, a, 1, ip, w, iw(1), info )
187 CALL chkxer(
'SSYTRI2', infot, nout, lerr, ok )
193 CALL ssytrs(
'/', 0, 0, a, 1, ip, b, 1, info )
194 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
196 CALL ssytrs(
'U', -1, 0, a, 1, ip, b, 1, info )
197 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
199 CALL ssytrs(
'U', 0, -1, a, 1, ip, b, 1, info )
200 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
202 CALL ssytrs(
'U', 2, 1, a, 1, ip, b, 2, info )
203 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
205 CALL ssytrs(
'U', 2, 1, a, 2, ip, b, 1, info )
206 CALL chkxer(
'SSYTRS', infot, nout, lerr, ok )
212 CALL ssyrfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
214 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
216 CALL ssyrfs(
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
218 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
220 CALL ssyrfs(
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
222 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
224 CALL ssyrfs(
'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
226 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
228 CALL ssyrfs(
'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
230 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
232 CALL ssyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
234 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
236 CALL ssyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
238 CALL chkxer(
'SSYRFS', infot, nout, lerr, ok )
244 CALL ssycon(
'/', 0, a, 1, ip, anrm, rcond, w, iw, info )
245 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
247 CALL ssycon(
'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
248 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
250 CALL ssycon(
'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
251 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
253 CALL ssycon(
'U', 1, a, 1, ip, -1.0, rcond, w, iw, info )
254 CALL chkxer(
'SSYCON', infot, nout, lerr, ok )
256 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
264 srnamt =
'SSYTRF_ROOK'
267 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
270 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
273 CALL chkxer(
'SSYTRF_ROOK', infot, nout, lerr, ok )
277 srnamt =
'SSYTF2_ROOK'
280 CALL chkxer(
'SSYTF2_ROOK', infot, nout, lerr, ok )
283 CALL chkxer(
'SSYTF2_ROOK', infot, nout, lerr, ok )
286 CALL chkxer(
'SSYTF2_ROOK', infot, nout, lerr, ok )
290 srnamt =
'SSYTRI_ROOK'
293 CALL chkxer(
'SSYTRI_ROOK', infot, nout, lerr, ok )
296 CALL chkxer(
'SSYTRI_ROOK', infot, nout, lerr, ok )
299 CALL chkxer(
'SSYTRI_ROOK', infot, nout, lerr, ok )
303 srnamt =
'SSYTRS_ROOK'
305 CALL ssytrs_rook(
'/', 0, 0, a, 1, ip, b, 1, info )
306 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
308 CALL ssytrs_rook(
'U', -1, 0, a, 1, ip, b, 1, info )
309 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
311 CALL ssytrs_rook(
'U', 0, -1, a, 1, ip, b, 1, info )
312 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
314 CALL ssytrs_rook(
'U', 2, 1, a, 1, ip, b, 2, info )
315 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
317 CALL ssytrs_rook(
'U', 2, 1, a, 2, ip, b, 1, info )
318 CALL chkxer(
'SSYTRS_ROOK', infot, nout, lerr, ok )
322 srnamt =
'SSYCON_ROOK'
324 CALL ssycon_rook(
'/', 0, a, 1, ip, anrm, rcond, w, iw, info )
325 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
327 CALL ssycon_rook(
'U', -1, a, 1, ip, anrm, rcond, w, iw, info )
328 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
330 CALL ssycon_rook(
'U', 2, a, 1, ip, anrm, rcond, w, iw, info )
331 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
333 CALL ssycon_rook(
'U', 1, a, 1, ip, -1.0, rcond, w, iw, info )
334 CALL chkxer(
'SSYCON_ROOK', infot, nout, lerr, ok )
340 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
346 CALL ssptrf(
'/', 0, a, ip, info )
347 CALL chkxer(
'SSPTRF', infot, nout, lerr, ok )
349 CALL ssptrf(
'U', -1, a, ip, info )
350 CALL chkxer(
'SSPTRF', infot, nout, lerr, ok )
356 CALL ssptri(
'/', 0, a, ip, w, info )
357 CALL chkxer(
'SSPTRI', infot, nout, lerr, ok )
359 CALL ssptri(
'U', -1, a, ip, w, info )
360 CALL chkxer(
'SSPTRI', infot, nout, lerr, ok )
366 CALL ssptrs(
'/', 0, 0, a, ip, b, 1, info )
367 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
369 CALL ssptrs(
'U', -1, 0, a, ip, b, 1, info )
370 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
372 CALL ssptrs(
'U', 0, -1, a, ip, b, 1, info )
373 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
375 CALL ssptrs(
'U', 2, 1, a, ip, b, 1, info )
376 CALL chkxer(
'SSPTRS', infot, nout, lerr, ok )
382 CALL ssprfs(
'/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
384 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
386 CALL ssprfs(
'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
388 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
390 CALL ssprfs(
'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, iw,
392 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
394 CALL ssprfs(
'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, iw,
396 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
398 CALL ssprfs(
'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, iw,
400 CALL chkxer(
'SSPRFS', infot, nout, lerr, ok )
406 CALL sspcon(
'/', 0, a, ip, anrm, rcond, w, iw, info )
407 CALL chkxer(
'SSPCON', infot, nout, lerr, ok )
409 CALL sspcon(
'U', -1, a, ip, anrm, rcond, w, iw, info )
410 CALL chkxer(
'SSPCON', infot, nout, lerr, ok )
412 CALL sspcon(
'U', 1, a, ip, -1.0, rcond, w, iw, info )
413 CALL chkxer(
'SSPCON', infot, nout, lerr, ok )
418 CALL alaesm( path, ok, nout )
subroutine ssytri2(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
SSYTRI2
subroutine ssptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
SSPTRS
subroutine ssytrf_rook(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
SSYTRF_ROOK
logical function lsamen(N, CA, CB)
LSAMEN
subroutine ssytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SSYTRS
subroutine ssytrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
SSYTRF
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine ssytf2_rook(UPLO, N, A, LDA, IPIV, INFO)
SSYTF2_ROOK computes the factorization of a real symmetric indefinite matrix using the bounded Bunch-...
subroutine ssytri(UPLO, N, A, LDA, IPIV, WORK, INFO)
SSYTRI
subroutine ssycon(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, IWORK, INFO)
SSYCON
subroutine ssycon_rook(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, IWORK, INFO)
SSYCON_ROOK
subroutine ssytri_rook(UPLO, N, A, LDA, IPIV, WORK, INFO)
SSYTRI_ROOK
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine ssytrs_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SSYTRS_ROOK
subroutine ssptri(UPLO, N, AP, IPIV, WORK, INFO)
SSPTRI
subroutine ssprfs(UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SSPRFS
subroutine ssptrf(UPLO, N, AP, IPIV, INFO)
SSPTRF
subroutine sspcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, IWORK, INFO)
SSPCON
subroutine ssyrfs(UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, IWORK, INFO)
SSYRFS
subroutine ssytf2(UPLO, N, A, LDA, IPIV, INFO)
SSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...