152 $ DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR,
153 $ NMAX, A, AFAC, AINV, B, X, XACT, WORK,
154 $ RWORK, IWORK, NOUT )
162 INTEGER NMAX, NN, NOUT, NRHS
167 INTEGER IWORK( * ), ( * )
169 COMPLEX A( * ), AFAC( * ), AINV( * ), B( * ),
170 $ work( * ), x( * ), xact( * )
177 PARAMETER ( CZERO = ( 0.0e+0, 0.0e+0 ) )
179 parameter( ntypes = 10, ntests = 3 )
181 parameter( nfact = 2 )
185 CHARACTER DIST, FACT,
TYPE, UPLO, XTYPE
186 CHARACTER*3 MATPATH, PATH
187 INTEGER I, I1, I2, IFACT, IMAT, IN, , IOFF, IUPLO,
188 $ izero, j, k, kl, ku, lda, lwork, mode, n,
189 $ nb, nbmin, nerrs, nfail, nimat, nrun, nt
193 CHARACTER FACTS( NFACT ), UPLOS( 2 )
194 INTEGER ( 4 ), ISEEDY( 4 )
195 REAL RESULT( NTESTS )
198 COMPLEX CLANSY, SGET06
199 EXTERNAL CLANSY, SGET06
213 COMMON / infoc / infot, nunit, ok, lerr
214 COMMON / srnamc / srnamt
220 DATA iseedy / 1988, 1989, 1990, 1991 /
221 DATA uplos /
'U',
'L' / , facts /
'F',
'N' /
229 path( 1: 1 ) =
'Complex precision'
234 matpath( 1: 1 ) =
'Complex precision'
235 matpath( 2: 3 ) =
'SY'
241 iseed( i ) = iseedy( i )
247 $
CALL cerrvx( path, nout )
267 DO 170 imat = 1, nimat
271 IF( .NOT.dotype( imat ) )
276 zerot = imat.GE.3 .AND. imat.LE.6
277 IF( zerot .AND. n.LT.imat-2 )
283 uplo = uplos( iuplo )
290 CALL clatb4( matpath, imat, n, n,
TYPE, kl, ku, anorm,
291 $ mode, cndnum, dist )
296 CALL clatms( n, n, dist, iseed,
TYPE, rwork, mode,
297 $ cndnum, anorm, kl, ku, uplo, a, lda,
304 $ -1, -1, -1, IMAT, NFAIL, NERRS, NOUT )
314.EQ.
ELSE IF( IMAT4 ) THEN
324.EQ.
IF( IUPLO1 ) THEN
325 IOFF = ( IZERO-1 )*LDA
326 DO 20 I = 1, IZERO - 1
336 DO 40 I = 1, IZERO - 1
347.EQ.
IF( IUPLO1 ) THEN
380 DO 150 IFACT = 1, NFACT
384 FACT = FACTS( IFACT )
389 CALL CLARHS( MATPATH, XTYPE, UPLO, ' ', N, N, KL, KU,
390 $ NRHS, A, LDA, XACT, LDA, B, LDA, ISEED,
396.EQ.
IF( IFACT2 ) THEN
397 CALL CLACPY( UPLO, N, N, A, LDA, AFAC, LDA )
398 CALL CLACPY( 'full
', N, NRHS, B, LDA, X, LDA )
403 LWORK = MIN(N*NB, 3*NMAX*NMAX)
404 CALL CSYSV_AA_2STAGE( UPLO, N, NRHS, AFAC, LDA,
406 $ IWORK, IWORK( 1+N ),
407 $ X, LDA, WORK, LWORK, INFO )
412.GT.
IF( IZERO0 ) THEN
418.EQ.
ELSE IF( IWORK( J )K ) THEN
432 CALL ALAERH( PATH, 'csysv_aa', INFO, K,
433 $ UPLO, N, N, -1, -1, NRHS,
434 $ IMAT, NFAIL, NERRS, NOUT )
436.NE.
ELSE IF( INFO0 ) THEN
442 CALL CLACPY( 'full
', N, NRHS, B, LDA, WORK, LDA )
443 CALL CSYT02( UPLO, N, NRHS, A, LDA, X, LDA, WORK,
444 $ LDA, RWORK, RESULT( 1 ) )
459.GE.
IF( RESULT( K )THRESH ) THEN
460.EQ..AND..EQ.
IF( NFAIL0 NERRS0 )
461 $ CALL ALADHD( NOUT, PATH )
463 $ UPLO, N, IMAT, K, RESULT( K )
479 CALL ALASVM( PATH, NOUT, NFAIL, NRUN, NERRS )
481 9999 FORMAT( 1X, A, ', uplo=
''', A1, ''', n =
', I5, ',
type ', I2,
482 $ ', test
', I2, ', ratio =
', G12.5 )
subroutine xlaenv(ispec, nvalue)
XLAENV
subroutine alasvm(type, nout, nfail, nrun, nerrs)
ALASVM
subroutine aladhd(iounit, path)
ALADHD
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 csytrf_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
CSYTRF_AA_2STAGE
subroutine csysv_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
CSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
subroutine csysv_aa(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
CSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices
subroutine clarhs(path, xtype, uplo, trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, iseed, info)
CLARHS
subroutine csyt01_aa(uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid)
CSYT01
subroutine cerrvx(path, nunit)
CERRVX
subroutine csyt02(uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid)
CSYT02
subroutine clatb4(path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist)
CLATB4
subroutine cdrvsy_aa_2stage(dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout)
CDRVSY_AA_2STAGE
subroutine cget04(n, nrhs, x, ldx, xact, ldxact, rcond, resid)
CGET04
subroutine clatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
CLATMS