165 SUBROUTINE cckglm( NN, NVAL, MVAL, PVAL, NMATS, ISEED, THRESH,
166 $ NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT,
174 INTEGER INFO, NIN, NMATS, NMAX, NN, NOUT
178 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
180 COMPLEX A( * ), AF( * ), B( * ), BF( * ), WORK( * ),
188 PARAMETER ( NTYPES = 8 )
192 CHARACTER DISTA, DISTB, TYPE
194 INTEGER I, IINFO, IK, IMAT, KLA, KLB, KUA, KUB, LDA,
195 $ ldb, lwork, m, modea, modeb, n, nfail, nrun, p
196 REAL ANORM, BNORM, CNDNMA, CNDNMB, RESID
199 LOGICAL DOTYPE( NTYPES )
220 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
231 IF( m.GT.n .OR. n.GT.m+p )
THEN
233 WRITE( nout, fmt = * )
236 WRITE( nout, fmt = 9997 )m, p, n
247 IF( m.GT.n .OR. n.GT.m+p )
250 DO 30 imat = 1, ntypes
254 IF( .NOT.dotype( imat ) )
260 CALL slatb9( path, imat, m, p, n,
TYPE, kla, kua, klb, kub,
261 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
264 CALL clatms( n, m, dista, iseed,
TYPE, rwork, modea, cndnma,
265 $ anorm, kla, kua,
'No packing', a, lda, work,
267 IF( iinfo.NE.0 )
THEN
268 WRITE( nout, fmt = 9999 )iinfo
273 CALL clatms( n, p, distb, iseed,
TYPE, rwork, modeb, cndnmb,
274 $ bnorm, klb, kub,
'No packing', b, ldb, work,
276 IF( iinfo.NE.0 )
THEN
277 WRITE( nout, fmt = 9999 )iinfo
285 x( i ) = clarnd( 2, iseed )
288 CALL cglmts( n, m, p, a, af, lda, b, bf, ldb, x,
289 $ x( nmax+1 ), x( 2*nmax+1 ), x( 3*nmax+1 ),
290 $ work, lwork, rwork, resid )
295 IF( resid.GE.thresh )
THEN
296 IF( nfail.EQ.0 .AND. firstt )
THEN
300 WRITE( nout, fmt = 9998 )n, m, p, imat, 1, resid
310 CALL alasum( path, nout, nfail, nrun, 0 )
312 9999
FORMAT(
' CLATMS in CCKGLM INFO = ', i5 )
313 9998
FORMAT(
' N=', i4,
' M=', i4,
', P=', i4,
', type ', i2,
314 $
', test ', i2,
', ratio=', g13.6 )
315 9997
FORMAT(
' *** Invalid input for GLM: M = ', i6,
', P = ', i6,
316 $
', N = ', i6,
';', /
' must satisfy M <= N <= M+P ',
317 $
'(this set of values will be skipped)' )
subroutine alareq(path, nmats, dotype, ntypes, nin, nout)
ALAREQ
subroutine alasum(type, nout, nfail, nrun, nerrs)
ALASUM
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 cglmts(n, m, p, a, af, lda, b, bf, ldb, d, df, x, u, work, lwork, rwork, result)
CGLMTS
subroutine clatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
CLATMS
subroutine slatb9(path, imat, m, p, n, type, kla, kua, klb, kub, anorm, bnorm, modea, modeb, cndnma, cndnmb, dista, distb)
SLATB9