69 parameter( nmax = 4, lw = 3*nmax )
74 REAL ANRM, CCOND, RCOND
77 INTEGER IP( NMAX ), IW( NMAX )
78 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
79 $ R1( NMAX ), R2( NMAX ), W( LW ), X( NMAX )
96 COMMON / infoc / infot, nout, ok, lerr
97 COMMON / srnamc / srnamt
105 WRITE( nout, fmt = * )
112 a( i, j ) = 1. / real( i+j )
113 af( i, j ) = 1. / real( i+j )
125 IF( lsamen( 2, c2,
'GE' ) )
THEN
134 CALL sgetrf( -1, 0, a, 1, ip, info )
135 CALL chkxer(
'SGETRF', infot, nout, lerr, ok )
137 CALL sgetrf( 0, -1, a, 1, ip, info )
138 CALL chkxer(
'SGETRF', infot, nout, lerr, ok )
140 CALL sgetrf( 2, 1, a, 1, ip, info )
141 CALL chkxer(
'SGETRF', infot, nout, lerr, ok )
147 CALL sgetf2( -1, 0, a, 1, ip, info )
148 CALL chkxer(
'SGETF2', infot, nout, lerr, ok )
150 CALL sgetf2( 0, -1, a, 1, ip, info )
151 CALL chkxer(
'SGETF2', infot, nout, lerr, ok )
153 CALL sgetf2( 2, 1, a, 1, ip, info )
154 CALL chkxer(
'SGETF2', infot, nout, lerr, ok )
160 CALL sgetri( -1, a, 1, ip, w, lw, info )
161 CALL chkxer(
'SGETRI', infot, nout, lerr, ok )
163 CALL sgetri( 2, a, 1, ip, w, lw, info )
164 CALL chkxer(
'SGETRI', infot, nout, lerr, ok )
170 CALL sgetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
171 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
173 CALL sgetrs(
'N', -1, 0, a, 1, ip, b, 1, info )
174 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
176 CALL sgetrs(
'N', 0, -1, a, 1, ip, b, 1, info )
177 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
179 CALL sgetrs(
'N', 2, 1, a, 1, ip, b, 2, info )
180 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
182 CALL sgetrs(
'N', 2, 1, a, 2, ip, b, 1, info )
183 CALL chkxer(
'SGETRS', infot, nout, lerr, ok )
189 CALL sgerfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
191 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
193 CALL sgerfs(
'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
195 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
197 CALL sgerfs(
'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
199 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
201 CALL sgerfs(
'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
203 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
205 CALL sgerfs(
'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
207 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
209 CALL sgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
211 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
213 CALL sgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
215 CALL chkxer(
'SGERFS', infot, nout, lerr, ok )
221 CALL sgecon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
222 CALL chkxer(
'SGECON', infot, nout, lerr, ok )
224 CALL sgecon(
'1', -1, a, 1, anrm, rcond, w, iw, info )
225 CALL chkxer(
'SGECON', infot, nout, lerr, ok )
227 CALL sgecon(
'1', 2, a, 1, anrm, rcond, w, iw, info )
228 CALL chkxer(
'SGECON', infot, nout, lerr, ok )
234 CALL sgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
235 CALL chkxer(
'SGEEQU', infot, nout, lerr, ok )
237 CALL sgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
238 CALL chkxer(
'SGEEQU', infot, nout, lerr, ok )
240 CALL sgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
241 CALL chkxer(
'SGEEQU', infot, nout, lerr, ok )
243 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
252 CALL sgbtrf( -1, 0, 0, 0, a, 1, ip, info )
253 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
255 CALL sgbtrf( 0, -1, 0, 0, a, 1, ip, info )
256 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
258 CALL sgbtrf( 1, 1, -1, 0, a, 1, ip, info )
259 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
261 CALL sgbtrf( 1, 1, 0, -1, a, 1, ip, info )
262 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
264 CALL sgbtrf( 2, 2, 1, 1, a, 3, ip, info )
265 CALL chkxer(
'SGBTRF', infot, nout, lerr, ok )
271 CALL sgbtf2( -1, 0, 0, 0, a, 1, ip, info )
272 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
274 CALL sgbtf2( 0, -1, 0, 0, a, 1, ip, info )
275 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
277 CALL sgbtf2( 1, 1, -1, 0, a, 1, ip, info )
278 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
280 CALL sgbtf2( 1, 1, 0, -1, a, 1, ip, info )
281 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
283 CALL sgbtf2( 2, 2, 1, 1, a, 3, ip, info )
284 CALL chkxer(
'SGBTF2', infot, nout, lerr, ok )
290 CALL sgbtrs(
'/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
291 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
293 CALL sgbtrs(
'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
294 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
296 CALL sgbtrs(
'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
297 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
299 CALL sgbtrs(
'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
300 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
302 CALL sgbtrs(
'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
303 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
305 CALL sgbtrs(
'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
306 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
308 CALL sgbtrs(
'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
309 CALL chkxer(
'SGBTRS', infot, nout, lerr, ok )
315 CALL sgbrfs(
'/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
317 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
319 CALL sgbrfs(
'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
321 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
323 CALL sgbrfs(
'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
325 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
327 CALL sgbrfs(
'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
329 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
331 CALL sgbrfs(
'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
333 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
335 CALL sgbrfs(
'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
337 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
339 CALL sgbrfs(
'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
341 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
343 CALL sgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
345 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
347 CALL sgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
349 CALL chkxer(
'SGBRFS', infot, nout, lerr, ok )
355 CALL sgbcon(
'/', 0, 0, 0, a, 1, ip, anrm, rcond, w, iw, info )
356 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
358 CALL sgbcon(
'1', -1, 0, 0, a, 1, ip, anrm, rcond, w, iw,
360 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
362 CALL sgbcon(
'1', 1, -1, 0, a, 1, ip, anrm, rcond, w, iw,
364 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
366 CALL sgbcon(
'1', 1, 0, -1, a, 1, ip, anrm, rcond, w, iw,
368 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
370 CALL sgbcon(
'1', 2, 1, 1, a, 3, ip, anrm, rcond, w, iw, info )
371 CALL chkxer(
'SGBCON', infot, nout, lerr, ok )
377 CALL sgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
379 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
381 CALL sgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
383 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
385 CALL sgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
387 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
389 CALL sgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
391 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
393 CALL sgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
395 CALL chkxer(
'SGBEQU', infot, nout, lerr, ok )
400 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine sgbcon(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, iwork, info)
SGBCON
subroutine sgbequ(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)
SGBEQU
subroutine sgbrfs(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
SGBRFS
subroutine sgbtf2(m, n, kl, ku, ab, ldab, ipiv, info)
SGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
subroutine sgbtrf(m, n, kl, ku, ab, ldab, ipiv, info)
SGBTRF
subroutine sgbtrs(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)
SGBTRS
subroutine sgecon(norm, n, a, lda, anorm, rcond, work, iwork, info)
SGECON
subroutine sgeequ(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)
SGEEQU
subroutine sgerfs(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
SGERFS
subroutine sgetf2(m, n, a, lda, ipiv, info)
SGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
subroutine sgetrf(m, n, a, lda, ipiv, info)
SGETRF
subroutine sgetri(n, a, lda, ipiv, work, lwork, info)
SGETRI
subroutine sgetrs(trans, n, nrhs, a, lda, ipiv, b, ldb, info)
SGETRS
subroutine serrge(path, nunit)
SERRGE