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( * ), NVAL( * )
169 REAL A( * ), AFAC( * ), AINV( * ), B( * ),
170 $ work( * ), x( * ), xact( * )
177 PARAMETER ( ONE = 1.0e+0, zero = 0.0e+0 )
178 INTEGER NTYPES, NTESTS
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, INFO, 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 ISEED( 4 ), ISEEDY( 4 )
195 REAL RESULT( NTESTS )
199 EXTERNAL SLANSY, 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 ) =
'Single precision'
234 matpath( 1: 1 ) =
'Single precision'
235 matpath( 2: 3 ) = 'sy
'
241 ISEED( I ) = ISEEDY( I )
247 $ CALL SERRVX( PATH, NOUT )
255 CALL XLAENV( 2, NBMIN )
267 DO 170 IMAT = 1, NIMAT
271.NOT.
IF( DOTYPE( IMAT ) )
276.GE..AND..LE.
ZEROT = IMAT3 IMAT6
277.AND..LT.
IF( ZEROT NIMAT-2 )
283 UPLO = UPLOS( IUPLO )
290 CALL SLATB4( MATPATH, IMAT, N, N, TYPE, KL, KU, ANORM,
291 $ MODE, CNDNUM, DIST )
296 CALL SLATMS( N, N, DIST, ISEED, TYPE, RWORK, MODE,
297 $ CNDNUM, ANORM, KL, KU, UPLO, A, LDA,
303 CALL ALAERH( PATH, 'slatms', INFO, 0, UPLO, N, N,
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 SLARHS( MATPATH, XTYPE, UPLO, ' ', N, N, KL, KU,
390 $ NRHS, A, LDA, XACT, LDA, B, LDA, ISEED,
396.EQ.
IF( IFACT2 ) THEN
397 CALL SLACPY( UPLO, N, N, A, LDA, AFAC, LDA )
398 CALL SLACPY( 'full
', N, NRHS, B, LDA, X, LDA )
403 LWORK = MIN(N*NB, 3*NMAX*NMAX)
404 CALL SSYSV_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, 'ssysv_aa', INFO, K,
433 $ UPLO, N, N, -1, -1, NRHS,
434 $ IMAT, NFAIL, NERRS, NOUT )
436.NE.
ELSE IF( INFO0 ) THEN
442 CALL SLACPY( 'full
', N, NRHS, B, LDA, WORK, LDA )
443 CALL SPOT02( 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 )
462 WRITE( NOUT, FMT = 9999 )'ssysv_aa ',
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 slacpy(uplo, m, n, a, lda, b, ldb)
SLACPY copies all or part of one two-dimensional array to another.
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 ssytrf_aa_2stage(uplo, n, a, lda, tb, ltb, ipiv, ipiv2, work, lwork, info)
SSYTRF_AA_2STAGE
subroutine ssysv_aa_2stage(uplo, n, nrhs, a, lda, tb, ltb, ipiv, ipiv2, b, ldb, work, lwork, info)
SSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
subroutine ssysv_aa(uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
SSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices
subroutine slatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
SLATMS
subroutine slarhs(path, xtype, uplo, trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, iseed, info)
SLARHS
subroutine spot02(uplo, n, nrhs, a, lda, x, ldx, b, ldb, rwork, resid)
SPOT02
subroutine serrvx(path, nunit)
SERRVX
subroutine slatb4(path, imat, m, n, type, kl, ku, anorm, mode, cndnum, dist)
SLATB4
subroutine sdrvsy_aa_2stage(dotype, nn, nval, nrhs, thresh, tsterr, nmax, a, afac, ainv, b, x, xact, work, rwork, iwork, nout)
SDRVSY_AA_2STAGE
subroutine ssyt01_aa(uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid)
SSYT01_AA