167 SUBROUTINE cckglm( NN, NVAL, MVAL, PVAL, NMATS, ISEED, THRESH,
168 $ nmax, a, af, b, bf, x, work, rwork, nin, nout,
177 INTEGER INFO, NIN, NMATS, NMAX, NN, NOUT
181 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
183 COMPLEX A( * ), AF( * ), B( * ), BF( * ), WORK( * ),
191 parameter ( ntypes = 8 )
195 CHARACTER DISTA, DISTB, TYPE
197 INTEGER I, IINFO, IK, IMAT, KLA, KLB, KUA, KUB, LDA,
198 $ ldb, lwork, m, modea, modeb, n, nfail, nrun, p
199 REAL ANORM, BNORM, CNDNMA, CNDNMB, RESID
202 LOGICAL DOTYPE( ntypes )
223 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
234 IF( m.GT.n .OR. n.GT.m+p )
THEN
236 WRITE( nout, fmt = * )
239 WRITE( nout, fmt = 9997 )m, p, n
250 IF( m.GT.n .OR. n.GT.m+p )
253 DO 30 imat = 1, ntypes
257 IF( .NOT.dotype( imat ) )
263 CALL slatb9( path, imat, m, p, n,
TYPE, KLA, KUA, KLB, KUB,
264 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
267 CALL clatms( n, m, dista, iseed,
TYPE, RWORK, MODEA, CNDNMA,
268 $ anorm, kla, kua,
'No packing', a, lda, work,
270 IF( iinfo.NE.0 )
THEN
271 WRITE( nout, fmt = 9999 )iinfo
276 CALL clatms( n, p, distb, iseed,
TYPE, RWORK, MODEB, CNDNMB,
277 $ bnorm, klb, kub,
'No packing', b, ldb, work,
279 IF( iinfo.NE.0 )
THEN
280 WRITE( nout, fmt = 9999 )iinfo
288 x( i ) = clarnd( 2, iseed )
291 CALL cglmts( n, m, p, a, af, lda, b, bf, ldb, x,
292 $ x( nmax+1 ), x( 2*nmax+1 ), x( 3*nmax+1 ),
293 $ work, lwork, rwork, resid )
298 IF( resid.GE.thresh )
THEN
299 IF( nfail.EQ.0 .AND. firstt )
THEN
303 WRITE( nout, fmt = 9998 )n, m, p, imat, 1, resid
313 CALL alasum( path, nout, nfail, nrun, 0 )
315 9999
FORMAT(
' CLATMS in CCKGLM INFO = ', i5 )
316 9998
FORMAT(
' N=', i4,
' M=', i4,
', P=', i4,
', type ', i2,
317 $
', test ', i2,
', ratio=', g13.6 )
318 9997
FORMAT(
' *** Invalid input for GLM: M = ', i6,
', P = ', i6,
319 $
', N = ', i6,
';', /
' must satisfy M <= N <= M+P ',
320 $
'(this set of values will be skipped)' )
subroutine cglmts(N, M, P, A, AF, LDA, B, BF, LDB, D, DF, X, U, WORK, LWORK, RWORK, RESULT)
CGLMTS
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine slatb9(PATH, IMAT, M, P, N, TYPE, KLA, KUA, KLB, KUB, ANORM, BNORM, MODEA, MODEB, CNDNMA, CNDNMB, DISTA, DISTB)
SLATB9
subroutine clatms(M, N, DIST, ISEED, SYM, D, MODE, COND, DMAX, KL, KU, PACK, A, LDA, WORK, INFO)
CLATMS
subroutine alahdg(IOUNIT, PATH)
ALAHDG
subroutine cckglm(NN, NVAL, MVAL, PVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
CCKGLM
subroutine alasum(TYPE, NOUT, NFAIL, NRUN, NERRS)
ALASUM