164 SUBROUTINE scklse( NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
165 $ NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT,
173 INTEGER INFO, NIN, NMATS, NMAX, NN, NOUT
177 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
178 REAL A( * ), AF( * ), B( * ), BF( * ), RWORK( * ),
186 PARAMETER ( NTESTS = 7 )
188 parameter( ntypes = 8 )
192 CHARACTER DISTA, DISTB, TYPE
194 INTEGER I, IINFO, IK, IMAT, KLA, KLB, KUA, KUB, LDA,
195 $ ldb, lwork, m, modea, modeb, n, nfail, nrun,
197 REAL ANORM, BNORM, CNDNMA, CNDNMB
200 LOGICAL DOTYPE( NTYPES )
201 REAL RESULT( NTESTS )
219 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
230 IF( p.GT.n .OR. n.GT.m+p )
THEN
232 WRITE( nout, fmt = * )
235 WRITE( nout, fmt = 9997 )m, p, n
246 IF( p.GT.n .OR. n.GT.m+p )
249 DO 30 imat = 1, ntypes
253 IF( .NOT.dotype( imat ) )
259 CALL slatb9( path, imat, m, p, n,
TYPE, kla, kua, klb, kub,
260 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
263 CALL slatms( m, n, dista, iseed,
TYPE, rwork, modea, cndnma,
264 $ anorm, kla, kua,
'No packing', a, lda, work,
266 IF( iinfo.NE.0 )
THEN
267 WRITE( nout, fmt = 9999 )iinfo
272 CALL slatms( p, n, distb, iseed,
TYPE, rwork, modeb, cndnmb,
273 $ bnorm, klb, kub,
'No packing', b, ldb, work,
275 IF( iinfo.NE.0 )
THEN
276 WRITE( nout, fmt = 9999 )iinfo
283 CALL slarhs(
'SGE',
'New solution',
'Upper',
'N', m, n,
284 $ max( m-1, 0 ), max( n-1, 0 ), 1, a, lda,
285 $ x( 4*nmax+1 ), max( n, 1 ), x, max( m, 1 ),
288 CALL slarhs(
'SGE',
'Computed',
'Upper',
'N', p, n,
289 $ max( p-1, 0 ), max( n-1, 0 ), 1, b, ldb,
290 $ x( 4*nmax+1 ), max( n, 1 ), x( 2*nmax+1 ),
291 $ max( p, 1 ), iseed, iinfo )
295 CALL slsets( m, p, n, a, af, lda, b, bf, ldb, x,
296 $ x( nmax+1 ), x( 2*nmax+1 ), x( 3*nmax+1 ),
297 $ x( 4*nmax+1 ), work, lwork, rwork,
304 IF( result( i ).GE.thresh )
THEN
305 IF( nfail.EQ.0 .AND. firstt )
THEN
309 WRITE( nout, fmt = 9998 )m, p, n, imat, i,
321 CALL alasum( path, nout, nfail, nrun, 0 )
323 9999
FORMAT(
' SLATMS in SCKLSE INFO = ', i5 )
324 9998
FORMAT(
' M=', i4,
' P=', i4,
', N=', i4,
', type ', i2,
325 $
', test ', i2,
', ratio=', g13.6 )
326 9997
FORMAT(
' *** Invalid input for LSE: M = ', i6,
', P = ', i6,
327 $
', N = ', i6,
';', /
' must satisfy P <= N <= P+M ',
328 $
'(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 slarhs(path, xtype, uplo, trans, m, n, kl, ku, nrhs, a, lda, x, ldx, b, ldb, iseed, info)
SLARHS
subroutine alahdg(iounit, path)
ALAHDG
subroutine scklse(nn, mval, pval, nval, nmats, iseed, thresh, nmax, a, af, b, bf, x, work, rwork, nin, nout, info)
SCKLSE
subroutine slatb9(path, imat, m, p, n, type, kla, kua, klb, kub, anorm, bnorm, modea, modeb, cndnma, cndnmb, dista, distb)
SLATB9
subroutine slatms(m, n, dist, iseed, sym, d, mode, cond, dmax, kl, ku, pack, a, lda, work, info)
SLATMS
subroutine slsets(m, p, n, a, af, lda, b, bf, ldb, c, cf, d, df, x, work, lwork, rwork, result)
SLSETS