197 SUBROUTINE dckgsv( NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
198 $ nmax, a, af, b, bf, u, v, q, alpha, beta, r,
199 $ iwork, work, rwork, nin, nout, info )
207 INTEGER INFO, NIN, NM, NMATS, NMAX, NOUT
208 DOUBLE PRECISION THRESH
211 INTEGER ISEED( 4 ), IWORK( * ), MVAL( * ), NVAL( * ),
213 DOUBLE PRECISION A( * ), AF( * ), ALPHA( * ), B( * ), BETA( * ),
214 $ bf( * ), q( * ), r( * ), rwork( * ), u( * ),
222 parameter ( ntests = 12 )
224 parameter ( ntypes = 8 )
228 CHARACTER DISTA, DISTB, TYPE
230 INTEGER I, IINFO, IM, IMAT, KLA, KLB, KUA, KUB, LDA,
231 $ ldb, ldq, ldr, ldu, ldv, lwork, m, modea,
232 $ modeb, n, nfail, nrun, nt, p
233 DOUBLE PRECISION ANORM, BNORM, CNDNMA, CNDNMB
236 LOGICAL DOTYPE( ntypes )
237 DOUBLE PRECISION RESULT( ntests )
254 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
270 DO 20 imat = 1, ntypes
274 IF( .NOT.dotype( imat ) )
280 CALL dlatb9( path, imat, m, p, n,
TYPE, KLA, KUA, KLB, KUB,
281 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
286 CALL dlatms( m, n, dista, iseed,
TYPE, RWORK, MODEA, CNDNMA,
287 $ anorm, kla, kua,
'No packing', a, lda, work,
289 IF( iinfo.NE.0 )
THEN
290 WRITE( nout, fmt = 9999 )iinfo
295 CALL dlatms( p, n, distb, iseed,
TYPE, RWORK, MODEB, CNDNMB,
296 $ bnorm, klb, kub,
'No packing', b, ldb, work,
298 IF( iinfo.NE.0 )
THEN
299 WRITE( nout, fmt = 9999 )iinfo
306 CALL dgsvts3( m, p, n, a, af, lda, b, bf, ldb, u, ldu, v,
307 $ ldv, q, ldq, alpha, beta, r, ldr, iwork, work,
308 $ lwork, rwork, result )
314 IF( result( i ).GE.thresh )
THEN
315 IF( nfail.EQ.0 .AND. firstt )
THEN
319 WRITE( nout, fmt = 9998 )m, p, n, imat, i,
330 CALL alasum( path, nout, nfail, nrun, 0 )
332 9999
FORMAT(
' DLATMS in DCKGSV INFO = ', i5 )
333 9998
FORMAT(
' M=', i4,
' P=', i4,
', N=', i4,
', type ', i2,
334 $
', test ', i2,
', ratio=', g13.6 )
subroutine dckgsv(NM, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, U, V, Q, ALPHA, BETA, R, IWORK, WORK, RWORK, NIN, NOUT, INFO)
DCKGSV
subroutine dgsvts3(M, P, N, A, AF, LDA, B, BF, LDB, U, LDU, V, LDV, Q, LDQ, ALPHA, BETA, R, LDR, IWORK, WORK, LWORK, RWORK, RESULT)
DGSVTS3
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine dlatb9(PATH, IMAT, M, P, N, TYPE, KLA, KUA, KLB, KUB, ANORM, BNORM, MODEA, MODEB, CNDNMA, CNDNMB, DISTA, DISTB)
DLATB9
subroutine dlatms(M, N, DIST, ISEED, SYM, D, MODE, COND, DMAX, KL, KU, PACK, A, LDA, WORK, INFO)
DLATMS
subroutine alahdg(IOUNIT, PATH)
ALAHDG
subroutine alasum(TYPE, NOUT, NFAIL, NRUN, NERRS)
ALASUM