207 SUBROUTINE dckgqr( NM, MVAL, NP, PVAL, NN, NVAL, NMATS, ISEED,
208 $ THRESH, NMAX, A, AF, AQ, AR, TAUA, B, BF, BZ,
209 $ BT, BWK, TAUB, WORK, RWORK, NIN, NOUT, INFO )
216 INTEGER INFO, NIN, NM, NMATS, NMAX, NN, NOUT, NP
217 DOUBLE PRECISION THRESH
220 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), ( * )
221 DOUBLE PRECISION A( * ), AF( * ), AQ(( * ), B( * ),
222 $ bf( * ), bt( * ), bwk( * ), bz( * ),
223 $ rwork( * ), taua( * ), taub( * ), work( * )
230 PARAMETER ( NTESTS = 7 )
232 parameter( ntypes = 8 )
236 CHARACTER DISTA, DISTB, TYPE
238 INTEGER I, IINFO, IM, IMAT, IN, IP, KLA, KLB, KUA, KUB,
239 $ lda, ldb, lwork, m, modea, modeb, n, nfail,
241 DOUBLE PRECISION ANORM, BNORM, CNDNMA, CNDNMB
244 LOGICAL DOTYPE( NTYPES )
245 DOUBLE PRECISION RESULT( NTESTS )
263 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
283 DO 30 imat = 1, ntypes
287 IF( .NOT.dotype( imat ) )
295 CALL dlatb9(
'GRQ', imat, m, p, n,
TYPE, kla, kua,
296 $ klb, kub, anorm, bnorm, modea, modeb,
297 $ cndnma, cndnmb, dista, distb )
301 CALL dlatms( m, n, dista, iseed,
TYPE, rwork, modea,
302 $ cndnma, anorm, kla, kua, 'no packing
', A,
304.NE.
IF( IINFO0 ) THEN
305 WRITE( NOUT, FMT = 9999 )IINFO
312 CALL DLATMS( P, N, DISTB, ISEED, TYPE, RWORK, MODEB,
313 $ CNDNMB, BNORM, KLB, KUB, 'no packing
', B,
315.NE.
IF( IINFO0 ) THEN
316 WRITE( NOUT, FMT = 9999 )IINFO
323 CALL DGRQTS( M, P, N, A, AF, AQ, AR, LDA, TAUA, B, BF,
324 $ BZ, BT, BWK, LDB, TAUB, WORK, LWORK,
331.GE.
IF( RESULT( I )THRESH ) THEN
332.EQ..AND.
IF( NFAIL0 FIRSTT ) THEN
334 CALL ALAHDG( NOUT, 'grq
' )
336 WRITE( NOUT, FMT = 9998 )M, P, N, IMAT, I,
348 CALL DLATB9( 'gqr
', IMAT, M, P, N, TYPE, KLA, KUA,
349 $ KLB, KUB, ANORM, BNORM, MODEA, MODEB,
350 $ CNDNMA, CNDNMB, DISTA, DISTB )
354 CALL DLATMS( N, M, DISTA, ISEED, TYPE, RWORK, MODEA,
355 $ CNDNMA, ANORM, KLA, KUA, 'no packing
', A,
357.NE.
IF( IINFO0 ) THEN
358 WRITE( NOUT, FMT = 9999 )IINFO
365 CALL DLATMS( N, P, DISTB, ISEED, TYPE, RWORK, MODEA,
366 $ CNDNMA, BNORM, KLB, KUB, 'no packing
', B,
368.NE.
IF( IINFO0 ) THEN
369 WRITE( NOUT, FMT = 9999 )IINFO
376 CALL DGQRTS( N, M, P, A, AF, AQ, AR, LDA, TAUA, B, BF,
377 $ BZ, BT, BWK, LDB, TAUB, WORK, LWORK,
384.GE.
IF( RESULT( I )THRESH ) THEN
385.EQ..AND.
IF( NFAIL0 FIRSTT ) THEN
387 CALL ALAHDG( NOUT, PATH )
389 WRITE( NOUT, FMT = 9997 )N, M, P, IMAT, I,
403 CALL ALASUM( PATH, NOUT, NFAIL, NRUN, 0 )
406 9998 FORMAT( ' m=
', I4, ' p=', i4,
', N=', i4,
', type ', i2,
407 $
', test ', i2,
', ratio=', g13.6 )
408 9997
FORMAT(
' N=', i4,
' M=', i4,
', P=', i4,
', type ', i2,
409 $
', test ', i2,
', ratio=', g13.6 )
subroutine alahdg(iounit, path)
ALAHDG
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 dgqrts(n, m, p, a, af, q, r, lda, taua, b, bf, z, t, bwk, ldb, taub, work, lwork, rwork, result)
DGQRTS
subroutine dgrqts(m, p, n, a, af, q, r, lda, taua, b, bf, z, t, bwk, ldb, taub, work, lwork, rwork, result)
DGRQTS
subroutine dckgqr(nm, mval, np, pval, nn, nval, nmats, iseed, thresh, nmax, a, af, aq, ar, taua, b, bf, bz, bt, bwk, taub, work, rwork, nin, nout, info)
DCKGQR
subroutine dlatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
DLATMS