209 SUBROUTINE sckgqr( 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
223 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
224 REAL 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 REAL ANORM, BNORM, CNDNMA, CNDNMB
247 LOGICAL DOTYPE( ntypes )
248 REAL RESULT( ntests )
266 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
286 DO 30 imat = 1, ntypes
290 IF( .NOT.dotype( imat ) )
298 CALL slatb9(
'GRQ', imat, m, p, n,
TYPE, KLA, KUA,
299 $ klb, kub, anorm, bnorm, modea, modeb,
300 $ cndnma, cndnmb, dista, distb )
304 CALL slatms( 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 slatms( 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 sgrqts( 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 slatb9(
'GQR', imat, m, p, n,
TYPE, KLA, KUA,
352 $ klb, kub, anorm, bnorm, modea, modeb,
353 $ cndnma, cndnmb, dista, distb )
357 CALL slatms( 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 slatms( 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 sgqrts( 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(
' SLATMS in SCKGQR: 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 )
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
subroutine alareq(PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT)
ALAREQ
subroutine slatms(M, N, DIST, ISEED, SYM, D, MODE, COND, DMAX, KL, KU, PACK, A, LDA, WORK, INFO)
SLATMS
subroutine slatb9(PATH, IMAT, M, P, N, TYPE, KLA, KUA, KLB, KUB, ANORM, BNORM, MODEA, MODEB, CNDNMA, CNDNMB, DISTA, DISTB)
SLATB9
subroutine sgqrts(N, M, P, A, AF, Q, R, LDA, TAUA, B, BF, Z, T, BWK, LDB, TAUB, WORK, LWORK, RWORK, RESULT)
SGQRTS
subroutine sgrqts(M, P, N, A, AF, Q, R, LDA, TAUA, B, BF, Z, T, BWK, LDB, TAUB, WORK, LWORK, RWORK, RESULT)
SGRQTS
subroutine alahdg(IOUNIT, PATH)
ALAHDG
subroutine alasum(TYPE, NOUT, NFAIL, NRUN, NERRS)
ALASUM