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( * ), PVAL( * )
221 DOUBLE PRECISION A( * ), AF( * ), AQ( * ), AR( * ), 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 IF( iinfo.NE.0 )
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 IF( iinfo.NE.0 )
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 IF( result( i ).GE.thresh )
THEN
332 IF( nfail.EQ.0 .AND. 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 IF( iinfo.NE.0 )
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 IF( iinfo.NE.0 )
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 IF( result( i ).GE.thresh )
THEN
385 IF( nfail.EQ.0 .AND. firstt )
THEN
389 WRITE( nout, fmt = 9997 )n, m, p, imat, i,
403 CALL alasum( path, nout, nfail, nrun, 0 )
405 9999
FORMAT(
' DLATMS in DCKGQR: INFO = ', i5 )
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 alareq(path, nmats, dotype, ntypes, nin, nout)
ALAREQ
subroutine alasum(type, nout, nfail, nrun, nerrs)
ALASUM
subroutine alahdg(iounit, path)
ALAHDG
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 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 dlatb9(path, imat, m, p, n, type, kla, kua, klb, kub, anorm, bnorm, modea, modeb, cndnma, cndnmb, dista, distb)
DLATB9
subroutine dlatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
DLATMS