72 parameter ( nmax = 4 )
77 DOUBLE PRECISION anrm, rcond
81 DOUBLE PRECISION r( nmax ), r1( nmax ), r2( nmax )
82 COMPLEX*16 a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
83 $ w( 2*nmax ), x( nmax )
101 COMMON / infoc / infot, nout, ok, lerr
102 COMMON / srnamc / srnamt
105 INTRINSIC dble, dcmplx
110 WRITE( nout, fmt = * )
117 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
118 $ -1.d0 / dble( i+j ) )
119 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
120 $ -1.d0 / dble( i+j ) )
136 IF(
lsamen( 2, c2,
'SY' ) )
THEN
142 CALL zsytrf(
'/', 0, a, 1, ip, w, 1, info )
143 CALL chkxer(
'ZSYTRF', infot, nout, lerr, ok )
145 CALL zsytrf(
'U', -1, a, 1, ip, w, 1, info )
146 CALL chkxer(
'ZSYTRF', infot, nout, lerr, ok )
148 CALL zsytrf(
'U', 2, a, 1, ip, w, 4, info )
149 CALL chkxer(
'ZSYTRF', infot, nout, lerr, ok )
155 CALL zsytf2(
'/', 0, a, 1, ip, info )
156 CALL chkxer(
'ZSYTF2', infot, nout, lerr, ok )
158 CALL zsytf2(
'U', -1, a, 1, ip, info )
159 CALL chkxer(
'ZSYTF2', infot, nout, lerr, ok )
161 CALL zsytf2(
'U', 2, a, 1, ip, info )
162 CALL chkxer(
'ZSYTF2', infot, nout, lerr, ok )
168 CALL zsytri(
'/', 0, a, 1, ip, w, info )
169 CALL chkxer(
'ZSYTRI', infot, nout, lerr, ok )
171 CALL zsytri(
'U', -1, a, 1, ip, w, info )
172 CALL chkxer(
'ZSYTRI', infot, nout, lerr, ok )
174 CALL zsytri(
'U', 2, a, 1, ip, w, info )
175 CALL chkxer(
'ZSYTRI', infot, nout, lerr, ok )
181 CALL zsytri2(
'/', 0, a, 1, ip, w, 1, info )
182 CALL chkxer(
'ZSYTRI2', infot, nout, lerr, ok )
184 CALL zsytri2(
'U', -1, a, 1, ip, w, 1, info )
185 CALL chkxer(
'ZSYTRI2', infot, nout, lerr, ok )
187 CALL zsytri2(
'U', 2, a, 1, ip, w, 1, info )
188 CALL chkxer(
'ZSYTRI2', infot, nout, lerr, ok )
194 CALL zsytrs(
'/', 0, 0, a, 1, ip, b, 1, info )
195 CALL chkxer(
'ZSYTRS', infot, nout, lerr, ok )
197 CALL zsytrs(
'U', -1, 0, a, 1, ip, b, 1, info )
198 CALL chkxer(
'ZSYTRS', infot, nout, lerr, ok )
200 CALL zsytrs(
'U', 0, -1, a, 1, ip, b, 1, info )
201 CALL chkxer(
'ZSYTRS', infot, nout, lerr, ok )
203 CALL zsytrs(
'U', 2, 1, a, 1, ip, b, 2, info )
204 CALL chkxer(
'ZSYTRS', infot, nout, lerr, ok )
206 CALL zsytrs(
'U', 2, 1, a, 2, ip, b, 1, info )
207 CALL chkxer(
'ZSYTRS', infot, nout, lerr, ok )
213 CALL zsyrfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
215 CALL chkxer(
'ZSYRFS', infot, nout, lerr, ok )
217 CALL zsyrfs(
'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
219 CALL chkxer(
'ZSYRFS', infot, nout, lerr, ok )
221 CALL zsyrfs(
'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
223 CALL chkxer(
'ZSYRFS', infot, nout, lerr, ok )
225 CALL zsyrfs(
'U', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
227 CALL chkxer(
'ZSYRFS', infot, nout, lerr, ok )
229 CALL zsyrfs(
'U', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
231 CALL chkxer(
'ZSYRFS', infot, nout, lerr, ok )
233 CALL zsyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
235 CALL chkxer(
'ZSYRFS', infot, nout, lerr, ok )
237 CALL zsyrfs(
'U', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
239 CALL chkxer(
'ZSYRFS', infot, nout, lerr, ok )
245 CALL zsycon(
'/', 0, a, 1, ip, anrm, rcond, w, info )
246 CALL chkxer(
'ZSYCON', infot, nout, lerr, ok )
248 CALL zsycon(
'U', -1, a, 1, ip, anrm, rcond, w, info )
249 CALL chkxer(
'ZSYCON', infot, nout, lerr, ok )
251 CALL zsycon(
'U', 2, a, 1, ip, anrm, rcond, w, info )
252 CALL chkxer(
'ZSYCON', infot, nout, lerr, ok )
254 CALL zsycon(
'U', 1, a, 1, ip, -anrm, rcond, w, info )
255 CALL chkxer(
'ZSYCON', infot, nout, lerr, ok )
261 ELSE IF(
lsamen( 2, c2,
'SR' ) )
THEN
265 srnamt =
'ZSYTRF_ROOK'
268 CALL chkxer(
'ZSYTRF_ROOK', infot, nout, lerr, ok )
271 CALL chkxer(
'ZSYTRF_ROOK', infot, nout, lerr, ok )
274 CALL chkxer(
'ZSYTRF_ROOK', infot, nout, lerr, ok )
278 srnamt =
'ZSYTF2_ROOK'
281 CALL chkxer(
'ZSYTF2_ROOK', infot, nout, lerr, ok )
284 CALL chkxer(
'ZSYTF2_ROOK', infot, nout, lerr, ok )
287 CALL chkxer(
'ZSYTF2_ROOK', infot, nout, lerr, ok )
291 srnamt =
'ZSYTRI_ROOK'
294 CALL chkxer(
'ZSYTRI_ROOK', infot, nout, lerr, ok )
297 CALL chkxer(
'ZSYTRI_ROOK', infot, nout, lerr, ok )
300 CALL chkxer(
'ZSYTRI_ROOK', infot, nout, lerr, ok )
304 srnamt =
'ZSYTRS_ROOK'
306 CALL zsytrs_rook(
'/', 0, 0, a, 1, ip, b, 1, info )
307 CALL chkxer(
'ZSYTRS_ROOK', infot, nout, lerr, ok )
309 CALL zsytrs_rook(
'U', -1, 0, a, 1, ip, b, 1, info )
310 CALL chkxer(
'ZSYTRS_ROOK', infot, nout, lerr, ok )
312 CALL zsytrs_rook(
'U', 0, -1, a, 1, ip, b, 1, info )
313 CALL chkxer(
'ZSYTRS_ROOK', infot, nout, lerr, ok )
315 CALL zsytrs_rook(
'U', 2, 1, a, 1, ip, b, 2, info )
316 CALL chkxer(
'ZSYTRS_ROOK', infot, nout, lerr, ok )
318 CALL zsytrs_rook(
'U', 2, 1, a, 2, ip, b, 1, info )
319 CALL chkxer(
'ZSYTRS_ROOK', infot, nout, lerr, ok )
323 srnamt =
'ZSYCON_ROOK'
325 CALL zsycon_rook(
'/', 0, a, 1, ip, anrm, rcond, w, info )
326 CALL chkxer(
'ZSYCON_ROOK', infot, nout, lerr, ok )
328 CALL zsycon_rook(
'U', -1, a, 1, ip, anrm, rcond, w, info )
329 CALL chkxer(
'ZSYCON_ROOK', infot, nout, lerr, ok )
331 CALL zsycon_rook(
'U', 2, a, 1, ip, anrm, rcond, w, info )
332 CALL chkxer(
'ZSYCON_ROOK', infot, nout, lerr, ok )
334 CALL zsycon_rook(
'U', 1, a, 1, ip, -anrm, rcond, w, info )
335 CALL chkxer(
'ZSYCON_ROOK', infot, nout, lerr, ok )
341 ELSE IF(
lsamen( 2, c2,
'SP' ) )
THEN
347 CALL zsptrf(
'/', 0, a, ip, info )
348 CALL chkxer(
'ZSPTRF', infot, nout, lerr, ok )
350 CALL zsptrf(
'U', -1, a, ip, info )
351 CALL chkxer(
'ZSPTRF', infot, nout, lerr, ok )
357 CALL zsptri(
'/', 0, a, ip, w, info )
358 CALL chkxer(
'ZSPTRI', infot, nout, lerr, ok )
360 CALL zsptri(
'U', -1, a, ip, w, info )
361 CALL chkxer(
'ZSPTRI', infot, nout, lerr, ok )
367 CALL zsptrs(
'/', 0, 0, a, ip, b, 1, info )
368 CALL chkxer(
'ZSPTRS', infot, nout, lerr, ok )
370 CALL zsptrs(
'U', -1, 0, a, ip, b, 1, info )
371 CALL chkxer(
'ZSPTRS', infot, nout, lerr, ok )
373 CALL zsptrs(
'U', 0, -1, a, ip, b, 1, info )
374 CALL chkxer(
'ZSPTRS', infot, nout, lerr, ok )
376 CALL zsptrs(
'U', 2, 1, a, ip, b, 1, info )
377 CALL chkxer(
'ZSPTRS', infot, nout, lerr, ok )
383 CALL zsprfs(
'/', 0, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
385 CALL chkxer(
'ZSPRFS', infot, nout, lerr, ok )
387 CALL zsprfs(
'U', -1, 0, a, af, ip, b, 1, x, 1, r1, r2, w, r,
389 CALL chkxer(
'ZSPRFS', infot, nout, lerr, ok )
391 CALL zsprfs(
'U', 0, -1, a, af, ip, b, 1, x, 1, r1, r2, w, r,
393 CALL chkxer(
'ZSPRFS', infot, nout, lerr, ok )
395 CALL zsprfs(
'U', 2, 1, a, af, ip, b, 1, x, 2, r1, r2, w, r,
397 CALL chkxer(
'ZSPRFS', infot, nout, lerr, ok )
399 CALL zsprfs(
'U', 2, 1, a, af, ip, b, 2, x, 1, r1, r2, w, r,
401 CALL chkxer(
'ZSPRFS', infot, nout, lerr, ok )
407 CALL zspcon(
'/', 0, a, ip, anrm, rcond, w, info )
408 CALL chkxer(
'ZSPCON', infot, nout, lerr, ok )
410 CALL zspcon(
'U', -1, a, ip, anrm, rcond, w, info )
411 CALL chkxer(
'ZSPCON', infot, nout, lerr, ok )
413 CALL zspcon(
'U', 1, a, ip, -anrm, rcond, w, info )
414 CALL chkxer(
'ZSPCON', infot, nout, lerr, ok )
419 CALL alaesm( path, ok, nout )
subroutine zsycon(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
ZSYCON
subroutine zsptri(UPLO, N, AP, IPIV, WORK, INFO)
ZSPTRI
subroutine zsytri_rook(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZSYTRI_ROOK
subroutine zsytri(UPLO, N, A, LDA, IPIV, WORK, INFO)
ZSYTRI
subroutine zsytrf_rook(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRF_ROOK
subroutine zsptrf(UPLO, N, AP, IPIV, INFO)
ZSPTRF
logical function lsamen(N, CA, CB)
LSAMEN
subroutine alaesm(PATH, OK, NOUT)
ALAESM
subroutine zsytf2_rook(UPLO, N, A, LDA, IPIV, INFO)
ZSYTF2_ROOK computes the factorization of a complex symmetric indefinite matrix using the bounded Bun...
subroutine zsytri2(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRI2
subroutine zspcon(UPLO, N, AP, IPIV, ANORM, RCOND, WORK, INFO)
ZSPCON
subroutine zsytrf(UPLO, N, A, LDA, IPIV, WORK, LWORK, INFO)
ZSYTRF
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
subroutine zsycon_rook(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
ZSYCON_ROOK
subroutine zsprfs(UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZSPRFS
subroutine zsptrs(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
ZSPTRS
subroutine zsytrs_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZSYTRS_ROOK
subroutine zsyrfs(UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, FERR, BERR, WORK, RWORK, INFO)
ZSYRFS
subroutine zsytf2(UPLO, N, A, LDA, IPIV, INFO)
ZSYTF2 computes the factorization of a real symmetric indefinite matrix, using the diagonal pivoting ...
subroutine zsytrs(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZSYTRS