170 $ NSVAL, THRESH, TSTERR, NMAX, A, AFAC, AINV,
171 $ B, X, XACT, WORK, RWORK, IWORK, NOUT )
181 INTEGER NN, NNB, NNS, NMAX, NOUT
187 INTEGER IWORK( * ), NBVAL( * ), NSVAL( * ), NVAL( * )
189 COMPLEX A( * ), AFAC( * ), AINV( * ), B( * ),
190 $ work( * ), x( * ), xact( * )
197 PARAMETER ( ZERO = 0.0e+0 )
199 parameter( czero = ( 0.0e+0, 0.0e+0 ) )
201 parameter( ntypes = 10 )
203 parameter( ntests = 9 )
207 CHARACTER DIST,
TYPE, UPLO, XTYPE
208 CHARACTER*3 PATH, MATPATH
209 INTEGER I, I1, I2, IMAT, IN, INB, , IOFF, IRHS,
210 $ iuplo, izero, j, k, kl, ku, lda, lwork, mode,
211 $ n, nb, nerrs, nfail, nimat, nrhs, nrun, nt
216 INTEGER ISEED( 4 ), ISEEDY( 4 )
217 REAL RESULT( NTESTS )
234 COMMON / infoc / infot, nunit, ok, lerr
235 COMMON / srnamc / srnamt
238 DATA iseedy / 1988, 1989, 1990, 1991 /
239 DATA uplos /
'U',
'L' /
248 path( 1: 1 ) =
'Complex precision'
253 matpath( 1: 1 ) =
'Complex precision'
254 matpath( 2: 3 ) = 'he
'
259 ISEED( I ) = ISEEDY( I )
265 $ CALL CERRHE( PATH, NOUT )
277.GT.
IF( N NMAX ) THEN
279 WRITE(NOUT, 9995) 'm
', N, NMAX
292 DO 170 IMAT = 1, NIMAT
296.NOT.
IF( DOTYPE( IMAT ) )
301.GE..AND..LE.
ZEROT = IMAT3 IMAT6
302.AND..LT.
IF( ZEROT NIMAT-2 )
308 UPLO = UPLOS( IUPLO )
316 CALL CLATB4( MATPATH, IMAT, N, N, TYPE, KL, KU,
317 $ ANORM, MODE, CNDNUM, DIST )
322 CALL CLATMS( N, N, DIST, ISEED, TYPE, RWORK, MODE,
323 $ CNDNUM, ANORM, KL, KU, UPLO, A, LDA, WORK,
329 CALL ALAERH( PATH, 'clatms', INFO, 0, UPLO, N, N, -1,
330 $ -1, -1, IMAT, NFAIL, NERRS, NOUT )
344.EQ.
ELSE IF( IMAT4 ) THEN
354.EQ.
IF( IUPLO1 ) THEN
355 IOFF = ( IZERO-1 )*LDA
356 DO 20 I = 1, IZERO - 1
366 DO 40 I = 1, IZERO - 1
376.EQ.
IF( IUPLO1 ) THEN
412 CALL CLAIPD( N, A, LDA+1, 0 )
428 CALL CLACPY( UPLO, N, N, A, LDA, AFAC, LDA )
436 LWORK = MIN(N*NB, 3*NMAX*NMAX)
437 CALL CHETRF_AA_2STAGE( UPLO, N, AFAC, LDA,
439 $ IWORK, IWORK( 1+N ),
446.GT.
IF( IZERO0 ) THEN
452.EQ.
ELSE IF( IWORK( J )K ) THEN
467 $ UPLO, N, N, -1, -1, NB, IMAT, NFAIL,
486.GE.
IF( RESULT( K )THRESH ) THEN
487.EQ..AND..EQ.
IF( NFAIL0 NERRS0 )
488 $ CALL ALAHD( NOUT, PATH )
489 WRITE( NOUT, FMT = 9999 )UPLO, N, NB, IMAT, K,
514 CALL CLARHS( MATPATH, XTYPE, UPLO, ' ', N, N,
515 $ KL, KU, NRHS, A, LDA, XACT, LDA,
516 $ B, LDA, ISEED, INFO )
517 CALL CLACPY( 'full
', N, NRHS, B, LDA, X, LDA )
520 LWORK = MAX( 1, 3*N-2 )
521 CALL CHETRS_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA,
522 $ AINV, (3*NB+1)*N, IWORK, IWORK( 1+N ),
528.EQ.
IF( IZERO0 ) THEN
530 $ INFO, 0, UPLO, N, N, -1, -1,
531 $ NRHS, IMAT, NFAIL, NERRS, NOUT )
534 CALL CLACPY( 'full
', N, NRHS, B, LDA, WORK, LDA
539 CALL CPOT02( UPLO, N, NRHS, A, LDA, X, LDA,
540 $ WORK, LDA, RWORK, RESULT( 2 ) )
546.GE.
IF( RESULT( K )THRESH ) THEN
547.EQ..AND..EQ.
IF( NFAIL0 NERRS0 )
548 $ CALL ALAHD( NOUT, PATH )
549 WRITE( NOUT, FMT = 9998 )UPLO, N, NRHS,
550 $ IMAT, K, RESULT( K )
568 CALL ALASUM( PATH, NOUT, NFAIL, NRUN, NERRS )
570 9999 FORMAT( ' uplo =
''', A1, ''', n =
', I5, ', nb =
', I4, ',
type ',
571 $ I2, ', test
', I2, ', ratio =
', G12.5 )
572 9998 FORMAT( ' uplo =
''', A1, ''', n =
', I5, ', nrhs=
', I3, ',
type ',
573 $ I2, ', test(
', I2, ') =
', G12.5 )
574 9995 FORMAT( ' invalid input
value:
', A4, '=
', I6, '; must be <=
',
subroutine xlaenv(ispec, nvalue)
XLAENV
subroutine alasum(type, nout, nfail, nrun, nerrs)
ALASUM
subroutine alahd(iounit, path)
ALAHD
subroutine alaerh(path, subnam, info, infoe, opts, m, n, kl, ku, n5, imat, nfail, nerrs, nout)
ALAERH
subroutine clacpy(uplo, m, n, a, lda, b, ldb)
CLACPY copies all or part of one two-dimensional array to another.
subroutine chetrs_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, info)
CHETRS_AA_2STAGE
subroutine chetrf_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
CHETRF_AA_2STAGE
subroutine clarhs(path, xtype, uplo, trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, iseed, info)
CLARHS
subroutine cchkhe_aa_2stage(dotype, nn, nval, nnb, nbval, nns, nsval, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout)
CCHKHE_AA_2STAGE
subroutine cerrhe(path, nunit)
CERRHE
subroutine clatb4(path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist)
CLATB4
subroutine cpot02(uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid)
CPOT02
subroutine clatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
CLATMS