130 SUBROUTINE dchktz( DOTYPE, NM, MVAL, NN, NVAL, THRESH, TSTERR, A,
131 $ COPYA, S, TAU, WORK, NOUT )
140 DOUBLE PRECISION THRESH
144 INTEGER MVAL( * ), NVAL( * )
145 DOUBLE PRECISION A( * ), COPYA( * ), S( * ),
146 $ tau( * ), work( * )
153 parameter( ntypes = 3 )
155 parameter( ntests = 3 )
156 DOUBLE PRECISION ONE, ZERO
157 parameter( one = 1.0d0, zero = 0.0d0 )
161 INTEGER I, IM, IMODE, IN, INFO, K, LDA, LWORK, M,
162 $ mnmin, mode, n, nerrs, nfail, nrun
166 INTEGER ISEED( 4 ), ISEEDY( 4 )
167 DOUBLE PRECISION RESULT( NTESTS )
170 DOUBLE PRECISION DLAMCH, DQRT12, DRZT01, DRZT02
171 EXTERNAL dlamch, dqrt12, drzt01, drzt02
183 INTEGER INFOT, IOUNIT
186 COMMON / infoc / infot, iounit, ok, lerr
187 COMMON / srnamc / srnamt
190 DATA iseedy / 1988, 1989, 1990, 1991 /
196 path( 1: 1 ) =
'Double precision'
202 iseed( i ) = iseedy( i )
204 eps = dlamch(
'Epsilon' )
209 $
CALL derrtz( path, nout )
225 lwork = max( 1, n*n+4*m+n, m*n+2*mnmin+4*n )
228 DO 50 imode = 1, ntypes
229 IF( .NOT.dotype( imode ) )
245 CALL dlaset(
'Full', m, n, zero, zero, a, lda )
250 CALL dlatms( m, n,
'Uniform', iseed,
251 $
'Nonsymmetric', s, imode,
252 $ one / eps, one, m, n,
'No packing', a,
254 CALL dgeqr2( m, n, a, lda, work, work( mnmin+1 ),
256 CALL dlaset(
'Lower', m-1, n, zero, zero, a( 2 ),
258 CALL dlaord(
'Decreasing', mnmin, s, 1 )
263 CALL dlacpy(
'All', m, n, a, lda, copya, lda )
269 CALL dtzrzf( m, n, a, lda, tau, work, lwork, info )
273 result( 1 ) = dqrt12( m, m, a, lda, s, work,
278 result( 2 ) = drzt01( m, n, copya, a, lda, tau, work,
283 result( 3 ) = drzt02( m, n, a, lda, tau, work, lwork )
289 IF( result( k ).GE.thresh )
THEN
290 IF( nfail.EQ.0 .AND. nerrs.EQ.0 )
291 $
CALL alahd( nout, path )
292 WRITE( nout, fmt = 9999 )m, n, imode, k,
305 CALL alasum( path, nout, nfail, nrun, nerrs )
307 9999
FORMAT(
' M =', i5,
', N =', i5,
', type ', i2,
', test ', i2,
308 $
', ratio =', g12.5 )
subroutine dchktz(dotype, nm, mval, nn, nval, thresh, tsterr, a, copya, s, tau, work, nout)
DCHKTZ
subroutine dlatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
DLATMS