166 SUBROUTINE scklse( NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH,
167 $ nmax, a, af, b, bf, x, work, rwork, nin, nout,
176 INTEGER INFO, NIN, NMATS, NMAX, NN, NOUT
180 INTEGER ISEED( 4 ), MVAL( * ), NVAL( * ), PVAL( * )
181 REAL A( * ), AF( * ), B( * ), BF( * ), RWORK( * ),
189 parameter ( ntests = 7 )
191 parameter ( ntypes = 8 )
195 CHARACTER DISTA, DISTB, TYPE
197 INTEGER I, IINFO, IK, IMAT, KLA, KLB, KUA, KUB, LDA,
198 $ ldb, lwork, m, modea, modeb, n, nfail, nrun,
200 REAL ANORM, BNORM, CNDNMA, CNDNMB
203 LOGICAL DOTYPE( ntypes )
204 REAL RESULT( ntests )
222 CALL alareq( path, nmats, dotype, ntypes, nin, nout )
233 IF( p.GT.n .OR. n.GT.m+p )
THEN
235 WRITE( nout, fmt = * )
238 WRITE( nout, fmt = 9997 )m, p, n
249 IF( p.GT.n .OR. n.GT.m+p )
252 DO 30 imat = 1, ntypes
256 IF( .NOT.dotype( imat ) )
262 CALL slatb9( path, imat, m, p, n,
TYPE, KLA, KUA, KLB, KUB,
263 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
266 CALL slatms( m, n, dista, iseed,
TYPE, RWORK, MODEA, CNDNMA,
267 $ anorm, kla, kua,
'No packing', a, lda, work,
269 IF( iinfo.NE.0 )
THEN
270 WRITE( nout, fmt = 9999 )iinfo
275 CALL slatms( p, n, distb, iseed,
TYPE, RWORK, MODEB, CNDNMB,
276 $ bnorm, klb, kub,
'No packing', b, ldb, work,
278 IF( iinfo.NE.0 )
THEN
279 WRITE( nout, fmt = 9999 )iinfo
286 CALL slarhs(
'SGE',
'New solution',
'Upper',
'N', m, n,
287 $ max( m-1, 0 ), max( n-1, 0 ), 1, a, lda,
288 $ x( 4*nmax+1 ), max( n, 1 ), x, max( m, 1 ),
291 CALL slarhs(
'SGE',
'Computed',
'Upper',
'N', p, n,
292 $ max( p-1, 0 ), max( n-1, 0 ), 1, b, ldb,
293 $ x( 4*nmax+1 ), max( n, 1 ), x( 2*nmax+1 ),
294 $ max( p, 1 ), iseed, iinfo )
298 CALL slsets( m, p, n, a, af, lda, b, bf, ldb, x,
299 $ x( nmax+1 ), x( 2*nmax+1 ), x( 3*nmax+1 ),
300 $ x( 4*nmax+1 ), work, lwork, rwork,
307 IF( result( i ).GE.thresh )
THEN
308 IF( nfail.EQ.0 .AND. firstt )
THEN
312 WRITE( nout, fmt = 9998 )m, p, n, imat, i,
324 CALL alasum( path, nout, nfail, nrun, 0 )
326 9999
FORMAT(
' SLATMS in SCKLSE INFO = ', i5 )
327 9998
FORMAT(
' M=', i4,
' P=', i4,
', N=', i4,
', type ', i2,
328 $
', test ', i2,
', ratio=', g13.6 )
329 9997
FORMAT(
' *** Invalid input for LSE: M = ', i6,
', P = ', i6,
330 $
', N = ', i6,
';', /
' must satisfy P <= N <= P+M ',
331 $
'(this set of values will be skipped)' )
subroutine slarhs(PATH, XTYPE, UPLO, TRANS, M, N, KL, KU, NRHS, A, LDA, X, LDX, B, LDB, ISEED, INFO)
SLARHS
subroutine slsets(M, P, N, A, AF, LDA, B, BF, LDB, C, CF, D, DF, X, WORK, LWORK, RWORK, RESULT)
SLSETS
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 scklse(NN, MVAL, PVAL, NVAL, NMATS, ISEED, THRESH, NMAX, A, AF, B, BF, X, WORK, RWORK, NIN, NOUT, INFO)
SCKLSE
subroutine alahdg(IOUNIT, PATH)
ALAHDG
subroutine alasum(TYPE, NOUT, NFAIL, NRUN, NERRS)
ALASUM