164 SUBROUTINE sckglm( NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
165 $ NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT,
173 INTEGER INFO, NIN, NMATS, NMAX, NN, NOUT
177 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
178 REAL A( * ), AF( * ), B( * ), BF( * ), RWORK( * ),
186 PARAMETER ( NTYPES = 8 )
190 CHARACTER DISTA, DISTB, TYPE
192 INTEGER I, IINFO, IK, IMAT, KLA, KLB, KUA, KUB, LDA,
193 $ ldb, lwork, m, modea, modeb, n, nfail, nrun, p
194 REAL ANORM, BNORM, CNDNMA, CNDNMB, RESID
197 LOGICAL DOTYPE( NTYPES )
218 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
229 IF( m.GT.n .OR. n.GT.m+p )
THEN
231 WRITE( nout, fmt = * )
234 WRITE( nout, fmt = 9997 )m, p, n
245 IF( m.GT.n .OR. n.GT.m+p )
248 DO 30 imat = 1, ntypes
252 IF( .NOT.dotype( imat ) )
258 CALL slatb9( path, imat, m, p, n,
TYPE, kla, kua, klb, kub,
259 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
262 CALL slatms( n, m, dista, iseed,
TYPE, rwork, modea, cndnma,
263 $ anorm, kla, kua,
'No packing', a, lda, work,
265 IF( iinfo.NE.0 )
THEN
266 WRITE( nout, fmt = 9999 )iinfo
271 CALL slatms( n, p, distb, iseed,
TYPE, rwork, modeb, cndnmb,
272 $ bnorm, klb, kub,
'No packing', b, ldb, work,
274 IF( iinfo.NE.0 )
THEN
275 WRITE( nout, fmt = 9999 )iinfo
283 x( i ) = slarnd( 2, iseed )
286 CALL sglmts( n, m, p, a, af, lda, b, bf, ldb, x,
287 $ x( nmax+1 ), x( 2*nmax+1 ), x( 3*nmax+1 ),
288 $ work, lwork, rwork, resid )
293 IF( resid.GE.thresh )
THEN
294 IF( nfail.EQ.0 .AND. firstt )
THEN
298 WRITE( nout, fmt = 9998 )n, m, p, imat, 1, resid
308 CALL alasum( path, nout, nfail, nrun, 0 )
310 9999
FORMAT(
' SLATMS in SCKGLM INFO = ', i5 )
311 9998
FORMAT(
' N=', i4,
' M=', i4,
', P=', i4,
', type ', i2,
312 $
', test ', i2,
', ratio=', g13.6 )
313 9997
FORMAT(
' *** Invalid input for GLM: M = ', i6,
', P = ', i6,
314 $
', N = ', i6,
';', /
' must satisfy M <= N <= M+P ',
315 $
'(this set of values will be skipped)' )
subroutine sckglm(nn, mval, pval, nval, nmats, iseed, thresh, nmax, a, af, b, bf, x, work, rwork, nin, nout, info)
SCKGLM
subroutine sglmts(n, m, p, a, af, lda, b, bf, ldb, d, df, x, u, work, lwork, rwork, result)
SGLMTS
subroutine slatb9(path, imat, m, p, n, type, kla, kua, klb, kub, anorm, bnorm, modea, modeb, cndnma, cndnmb, dista, distb)
SLATB9
subroutine slatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
SLATMS