209 SUBROUTINE dckgqr( NM, MVAL, NP, PVAL, NN, NVAL, NMATS, ISEED,
210 $ thresh, nmax, a, af, aq, ar, taua, b, bf, bz,
211 $ bt, bwk, taub, work, rwork, nin, nout, info )
219 INTEGER info, nin, nm, nmats, nmax, nn, nout, np
220 DOUBLE PRECISION thresh
223 INTEGER iseed( 4 ), mval( * ), nval( * ), pval( * )
224 DOUBLE PRECISION a( * ), af( * ), aq( * ), ar( * ), b( * ),
225 $ bf( * ), bt( * ), bwk( * ), bz( * ),
226 $ rwork( * ), taua( * ), taub( * ), work( * )
233 parameter( ntests = 7 )
235 parameter( ntypes = 8 )
239 CHARACTER dista, distb, type
241 INTEGER i, iinfo, im, imat, in, ip, kla, klb, kua, kub,
242 $ lda, ldb, lwork, m, modea, modeb, n, nfail,
244 DOUBLE PRECISION anorm, bnorm, cndnma, cndnmb
247 LOGICAL dotype( ntypes )
248 DOUBLE PRECISION result( ntests )
266 CALL
alareq( path, nmats, dotype, ntypes, nin, nout )
286 DO 30 imat = 1, ntypes
290 IF( .NOT.dotype( imat ) )
298 CALL
dlatb9(
'GRQ', imat, m, p, n, type, kla, kua,
299 $ klb, kub, anorm, bnorm, modea, modeb,
300 $ cndnma, cndnmb, dista, distb )
304 CALL
dlatms( m, n, dista, iseed, type, rwork, modea,
305 $ cndnma, anorm, kla, kua,
'No packing', a,
307 IF( iinfo.NE.0 )
THEN
308 WRITE( nout, fmt = 9999 )iinfo
315 CALL
dlatms( p, n, distb, iseed, type, rwork, modeb,
316 $ cndnmb, bnorm, klb, kub,
'No packing', b,
318 IF( iinfo.NE.0 )
THEN
319 WRITE( nout, fmt = 9999 )iinfo
326 CALL
dgrqts( m, p, n, a, af, aq, ar, lda, taua, b, bf,
327 $ bz, bt, bwk, ldb, taub, work, lwork,
334 IF( result( i ).GE.thresh )
THEN
335 IF( nfail.EQ.0 .AND. firstt )
THEN
337 CALL
alahdg( nout,
'GRQ' )
339 WRITE( nout, fmt = 9998 )m, p, n, imat, i,
351 CALL
dlatb9(
'GQR', imat, m, p, n, type, kla, kua,
352 $ klb, kub, anorm, bnorm, modea, modeb,
353 $ cndnma, cndnmb, dista, distb )
357 CALL
dlatms( n, m, dista, iseed, type, rwork, modea,
358 $ cndnma, anorm, kla, kua,
'No packing', a,
360 IF( iinfo.NE.0 )
THEN
361 WRITE( nout, fmt = 9999 )iinfo
368 CALL
dlatms( n, p, distb, iseed, type, rwork, modea,
369 $ cndnma, bnorm, klb, kub,
'No packing', b,
371 IF( iinfo.NE.0 )
THEN
372 WRITE( nout, fmt = 9999 )iinfo
379 CALL
dgqrts( n, m, p, a, af, aq, ar, lda, taua, b, bf,
380 $ bz, bt, bwk, ldb, taub, work, lwork,
387 IF( result( i ).GE.thresh )
THEN
388 IF( nfail.EQ.0 .AND. firstt )
THEN
392 WRITE( nout, fmt = 9997 )n, m, p, imat, i,
406 CALL
alasum( path, nout, nfail, nrun, 0 )
408 9999 format(
' DLATMS in DCKGQR: INFO = ', i5 )
409 9998 format(
' M=', i4,
' P=', i4,
', N=', i4,
', type ', i2,
410 $
', test ', i2,
', ratio=', g13.6 )
411 9997 format(
' N=', i4,
' M=', i4,
', P=', i4,
', type ', i2,
412 $
', test ', i2,
', ratio=', g13.6 )