167 SUBROUTINE zckglm( 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
178 DOUBLE PRECISION thresh
181 INTEGER iseed( 4 ), mval( * ), nval( * ), pval( * )
182 DOUBLE PRECISION rwork( * )
183 COMPLEX*16 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 DOUBLE PRECISION 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
dlatb9( path, imat, m, p, n, type, kla, kua, klb, kub,
264 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
267 CALL
zlatms( 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
zlatms( 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 ) =
zlarnd( 2, iseed )
291 CALL
zglmts( 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(
' ZLATMS in ZCKGLM 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 zglmts(N, M, P, A, AF, LDA, B, BF, LDB, D, DF, X, U, WORK, LWORK, RWORK, RESULT)
ZGLMTS
subroutine alahdg(IOUNIT, PATH)
ALAHDG
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
complex *16 function zlarnd(IDIST, ISEED)
ZLARND
subroutine zckglm(NN, NVAL, MVAL, PVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
ZCKGLM
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
subroutine zlatms(M, N, DIST, ISEED, SYM, D, MODE, COND, DMAX, KL, KU, PACK, A, LDA, WORK, INFO)
ZLATMS