207 SUBROUTINE sckgqr( 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
220 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
221 REAL 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 REAL ANORM, BNORM, CNDNMA, CNDNMB
244 LOGICAL DOTYPE( NTYPES )
245 REAL RESULT( NTESTS )
263 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
283 DO 30 imat = 1, ntypes
287 IF( .NOT.dotype( imat ) )
295 CALL slatb9(
'GRQ', imat, m, p, n,
TYPE, kla, kua,
296 $ klb, kub, anorm, bnorm, modea, modeb,
297 $ cndnma, cndnmb, dista, distb )
301 CALL slatms( 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 slatms( 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 sgrqts( 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 slatb9(
'GQR', imat, m, p, n,
TYPE, kla, kua,
349 $ klb, kub, anorm, bnorm, modea, modeb,
350 $ cndnma, cndnmb, dista, distb )
354 CALL slatms( 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 slatms( 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 sgqrts( 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(
' SLATMS in SCKGQR: 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 sckgqr(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)
SCKGQR