165 SUBROUTINE zcklse( NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
166 $ NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT,
174 INTEGER INFO, NIN, NMATS, NMAX, NN, NOUT
175 DOUBLE PRECISION THRESH
178 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
179 DOUBLE PRECISION RWORK( * )
180 COMPLEX*16 A( * ), AF( * ), B( * ), BF( * ), WORK( * ),
188 PARAMETER ( NTESTS = 7 )
190 parameter( ntypes = 8 )
194 CHARACTER DISTA, DISTB, TYPE
196 INTEGER I, IINFO, IK, IMAT, KLA, KLB, KUA, KUB, LDA,
197 $ ldb, lwork, m, modea, modeb, n, nfail, nrun,
199 DOUBLE PRECISION ANORM, BNORM, CNDNMA, CNDNMB
202 LOGICAL DOTYPE( NTYPES )
203 DOUBLE PRECISION RESULT( NTESTS )
221 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
232 IF( p.GT.n .OR. n.GT.m+p )
THEN
234 WRITE( nout, fmt = * )
237 WRITE( nout, fmt = 9997 )m, p, n
248 IF( p.GT.n .OR. n.GT.m+p )
251 DO 30 imat = 1, ntypes
255 IF( .NOT.dotype( imat ) )
261 CALL dlatb9( path, imat, m, p, n,
TYPE, kla, kua, klb, kub,
262 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
265 CALL zlatms( m, n, dista, iseed,
TYPE, rwork, modea, cndnma,
266 $ anorm, kla, kua,
'No packing', a, lda, work,
268 IF( iinfo.NE.0 )
THEN
269 WRITE( nout, fmt = 9999 )iinfo
274 CALL zlatms( p, n, distb, iseed,
TYPE, rwork, modeb, cndnmb,
275 $ bnorm, klb, kub,
'No packing', b, ldb, work,
277 IF( iinfo.NE.0 )
THEN
278 WRITE( nout, fmt = 9999 )iinfo
285 CALL zlarhs(
'ZGE',
'New solution',
'Upper',
'N', m, n,
286 $ max( m-1, 0 ), max( n-1, 0 ), 1, a, lda,
287 $ x( 4*nmax+1 ), max( n, 1 ), x, max( m, 1 ),
290 CALL zlarhs(
'ZGE',
'Computed',
'Upper',
'N', p, n,
291 $ max( p-1, 0 ), max( n-1, 0 ), 1, b, ldb,
292 $ x( 4*nmax+1 ), max( n, 1 ), x( 2*nmax+1 ),
293 $ max( p, 1 ), iseed, iinfo )
297 CALL zlsets( m, p, n, a, af, lda, b, bf, ldb, x,
298 $ x( nmax+1 ), x( 2*nmax+1 ), x( 3*nmax+1 ),
299 $ x( 4*nmax+1 ), work, lwork, rwork,
306 IF( result( i ).GE.thresh )
THEN
307 IF( nfail.EQ.0 .AND. firstt )
THEN
311 WRITE( nout, fmt = 9998 )m, p, n, imat, i,
323 CALL alasum( path, nout, nfail, nrun, 0 )
325 9999
FORMAT(
' ZLATMS in ZCKLSE INFO = ', i5 )
326 9998
FORMAT(
' M=', i4,
' P=', i4,
', N=', i4,
', type ', i2,
327 $
', test ', i2,
', ratio=', g13.6 )
328 9997
FORMAT(
' *** Invalid input for LSE: M = ', i6,
', P = ', i6,
329 $
', N = ', i6,
';', /
' must satisfy P <= N <= P+M ',
330 $
'(this set of values will be skipped)' )
subroutine alareq(path, nmats, dotype, ntypes, nin, nout)
ALAREQ
subroutine alasum(type, nout, nfail, nrun, nerrs)
ALASUM
subroutine zlarhs(path, xtype, uplo, trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, iseed, info)
ZLARHS
subroutine alahdg(iounit, path)
ALAHDG
subroutine dlatb9(path, imat, m, p, n, type, kla, kua, klb, kub, anorm, bnorm, modea, modeb, cndnma, cndnmb, dista, distb)
DLATB9
subroutine zcklse(nn, mval, pval, nval, nmats, iseed, thresh, nmax, a, af, b, bf, x, work, rwork, nin, nout, info)
ZCKLSE
subroutine zlatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
ZLATMS
subroutine zlsets(m, p, n, a, af, lda, b, bf, ldb, c, cf, d, df, x, work, lwork, rwork, result)
ZLSETS