166 SUBROUTINE dckglm( NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
167 $ nmax, a, af, b, bf, x, work, rwork, nin, nout,
176 INTEGER INFO, NIN, NMATS, NMAX, NN, NOUT
177 DOUBLE PRECISION THRESH
180 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
181 DOUBLE PRECISION A( * ), AF( * ), B( * ), BF( * ), RWORK( * ),
189 parameter( ntypes = 8 )
193 CHARACTER DISTA, DISTB, TYPE
195 INTEGER I, IINFO, IK, IMAT, KLA, KLB, KUA, KUB, LDA,
196 $ ldb, lwork, m, modea, modeb, n, nfail, nrun, p
197 DOUBLE PRECISION ANORM, BNORM, CNDNMA, CNDNMB, RESID
200 LOGICAL DOTYPE( ntypes )
203 DOUBLE PRECISION DLARND
221 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
232 IF( m.GT.n .OR. n.GT.m+p )
THEN
234 WRITE( nout, fmt = * )
237 WRITE( nout, fmt = 9997 )m, p, n
248 IF( m.GT.n .OR. n.GT.m+p )
251 DO 30 imat = 1, ntypes
255 IF( .NOT.dotype( imat ) )
261 CALL
dlatb9( path, imat, m, p, n,
TYPE, KLA, KUA, KLB, KUB,
262 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
265 CALL
dlatms( n, m, dista, iseed,
TYPE, RWORK, MODEA, CNDNMA,
266 $ anorm, kla, kua,
'No packing', a, lda, work,
268 IF( iinfo.NE.0 )
THEN
269 WRITE( nout, fmt = 9999 )iinfo
274 CALL
dlatms( n, p, distb, iseed,
TYPE, RWORK, MODEB, CNDNMB,
275 $ bnorm, klb, kub,
'No packing', b, ldb, work,
277 IF( iinfo.NE.0 )
THEN
278 WRITE( nout, fmt = 9999 )iinfo
286 x( i ) = dlarnd( 2, iseed )
289 CALL
dglmts( n, m, p, a, af, lda, b, bf, ldb, x,
290 $ x( nmax+1 ), x( 2*nmax+1 ), x( 3*nmax+1 ),
291 $ work, lwork, rwork, resid )
296 IF( resid.GE.thresh )
THEN
297 IF( nfail.EQ.0 .AND. firstt )
THEN
301 WRITE( nout, fmt = 9998 )n, m, p, imat, 1, resid
311 CALL
alasum( path, nout, nfail, nrun, 0 )
313 9999
FORMAT(
' DLATMS in DCKGLM INFO = ', i5 )
314 9998
FORMAT(
' N=', i4,
' M=', i4,
', P=', i4,
', type ', i2,
315 $
', test ', i2,
', ratio=', g13.6 )
316 9997
FORMAT(
' *** Invalid input for GLM: M = ', i6,
', P = ', i6,
317 $
', N = ', i6,
';', /
' must satisfy M <= N <= M+P ',
318 $
'(this set of values will be skipped)' )
subroutine dlatms(M, N, DIST, ISEED, SYM, D, MODE, COND, DMAX, KL, KU, PACK, A, LDA, WORK, INFO)
DLATMS
subroutine dckglm(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
DCKGLM
subroutine alahdg(IOUNIT, PATH)
ALAHDG
subroutine dglmts(N, M, P, A, AF, LDA, B, BF, LDB, D, DF, X, U, WORK, LWORK, RWORK, RESULT)
DGLMTS
subroutine alasum(TYPE, NOUT, NFAIL, NRUN, NERRS)
ALASUM
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