69 parameter( nmax = 4, lw = 3*nmax )
74 DOUBLE PRECISION ANRM, CCOND, RCOND
77 INTEGER IP( NMAX ), IW( NMAX )
78 DOUBLE PRECISION 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.d0 / dble( i+j )
113 af( i, j ) = 1.d0 / dble( i+j )
125 IF( lsamen( 2, c2,
'GE' ) )
THEN
134 CALL dgetrf( -1, 0, a, 1, ip, info )
135 CALL chkxer(
'DGETRF', infot, nout, lerr, ok )
137 CALL dgetrf( 0, -1, a, 1, ip, info )
138 CALL chkxer(
'DGETRF', infot, nout, lerr, ok )
140 CALL dgetrf( 2, 1, a, 1, ip, info )
141 CALL chkxer(
'DGETRF', infot, nout, lerr, ok )
147 CALL dgetf2( -1, 0, a, 1, ip, info )
148 CALL chkxer(
'DGETF2', infot, nout, lerr, ok )
150 CALL dgetf2( 0, -1, a, 1, ip, info )
151 CALL chkxer(
'DGETF2', infot, nout, lerr, ok )
153 CALL dgetf2( 2, 1, a, 1, ip, info )
154 CALL chkxer(
'DGETF2', infot, nout, lerr, ok )
160 CALL dgetri( -1, a, 1, ip, w, lw, info )
161 CALL chkxer(
'DGETRI', infot, nout, lerr, ok )
163 CALL dgetri( 2, a, 1, ip, w, lw, info )
164 CALL chkxer(
'DGETRI', infot, nout, lerr, ok )
170 CALL dgetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
171 CALL chkxer(
'DGETRS', infot, nout, lerr, ok )
173 CALL dgetrs(
'N', -1, 0, a, 1, ip, b, 1, info )
174 CALL chkxer(
'DGETRS', infot, nout, lerr, ok )
176 CALL dgetrs(
'N', 0, -1, a, 1, ip, b, 1, info )
177 CALL chkxer(
'DGETRS', infot, nout, lerr, ok )
179 CALL dgetrs(
'N', 2, 1, a, 1, ip, b, 2, info )
180 CALL chkxer(
'DGETRS', infot, nout, lerr, ok )
182 CALL dgetrs(
'N', 2, 1, a, 2, ip, b, 1, info )
183 CALL chkxer(
'DGETRS', infot, nout, lerr, ok )
189 CALL dgerfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
191 CALL chkxer(
'DGERFS', infot, nout, lerr, ok )
193 CALL dgerfs(
'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
195 CALL chkxer(
'DGERFS', infot, nout, lerr, ok )
197 CALL dgerfs(
'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
199 CALL chkxer(
'DGERFS', infot, nout, lerr, ok )
201 CALL dgerfs(
'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
203 CALL chkxer(
'DGERFS', infot, nout, lerr, ok )
205 CALL dgerfs(
'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
207 CALL chkxer(
'DGERFS', infot, nout, lerr, ok )
209 CALL dgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
211 CALL chkxer(
'DGERFS', infot, nout, lerr, ok )
213 CALL dgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
215 CALL chkxer(
'DGERFS', infot, nout, lerr, ok )
221 CALL dgecon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
222 CALL chkxer(
'DGECON', infot, nout, lerr, ok )
224 CALL dgecon(
'1', -1, a, 1, anrm, rcond, w, iw, info )
225 CALL chkxer(
'DGECON', infot, nout, lerr, ok )
227 CALL dgecon(
'1', 2, a, 1, anrm, rcond, w, iw, info )
228 CALL chkxer(
'DGECON', infot, nout, lerr, ok )
234 CALL dgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
235 CALL chkxer(
'DGEEQU', infot, nout, lerr, ok )
237 CALL dgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
238 CALL chkxer(
'DGEEQU', infot, nout, lerr, ok )
240 CALL dgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
241 CALL chkxer(
'DGEEQU', infot, nout, lerr, ok )
243 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
252 CALL dgbtrf( -1, 0, 0, 0, a, 1, ip, info )
253 CALL chkxer(
'DGBTRF', infot, nout, lerr, ok )
255 CALL dgbtrf( 0, -1, 0, 0, a, 1, ip, info )
256 CALL chkxer(
'DGBTRF', infot, nout, lerr, ok )
258 CALL dgbtrf( 1, 1, -1, 0, a, 1, ip, info )
259 CALL chkxer(
'DGBTRF', infot, nout, lerr, ok )
261 CALL dgbtrf( 1, 1, 0, -1, a, 1, ip, info )
262 CALL chkxer(
'DGBTRF', infot, nout, lerr, ok )
264 CALL dgbtrf( 2, 2, 1, 1, a, 3, ip, info )
265 CALL chkxer(
'DGBTRF', infot, nout, lerr, ok )
271 CALL dgbtf2( -1, 0, 0, 0, a, 1, ip, info )
272 CALL chkxer(
'DGBTF2', infot, nout, lerr, ok )
274 CALL dgbtf2( 0, -1, 0, 0, a, 1, ip, info )
275 CALL chkxer(
'DGBTF2', infot, nout, lerr, ok )
277 CALL dgbtf2( 1, 1, -1, 0, a, 1, ip, info )
278 CALL chkxer(
'DGBTF2', infot, nout, lerr, ok )
280 CALL dgbtf2( 1, 1, 0, -1, a, 1, ip, info )
281 CALL chkxer(
'DGBTF2', infot, nout, lerr, ok )
283 CALL dgbtf2( 2, 2, 1, 1, a, 3, ip, info )
284 CALL chkxer(
'DGBTF2', infot, nout, lerr, ok )
290 CALL dgbtrs(
'/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
291 CALL chkxer(
'DGBTRS', infot, nout, lerr, ok )
293 CALL dgbtrs(
'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
294 CALL chkxer(
'DGBTRS', infot, nout, lerr, ok )
296 CALL dgbtrs(
'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
297 CALL chkxer(
'DGBTRS', infot, nout, lerr, ok )
299 CALL dgbtrs(
'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
300 CALL chkxer(
'DGBTRS', infot, nout, lerr, ok )
302 CALL dgbtrs(
'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
303 CALL chkxer(
'DGBTRS', infot, nout, lerr, ok )
305 CALL dgbtrs(
'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
306 CALL chkxer(
'DGBTRS', infot, nout, lerr, ok )
308 CALL dgbtrs(
'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
309 CALL chkxer(
'DGBTRS', infot, nout, lerr, ok )
315 CALL dgbrfs(
'/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
317 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
319 CALL dgbrfs(
'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
321 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
323 CALL dgbrfs(
'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
325 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
327 CALL dgbrfs(
'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
329 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
331 CALL dgbrfs(
'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
333 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
335 CALL dgbrfs(
'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
337 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
339 CALL dgbrfs(
'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
341 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
343 CALL dgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
345 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
347 CALL dgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
349 CALL chkxer(
'DGBRFS', infot, nout, lerr, ok )
355 CALL dgbcon(
'/', 0, 0, 0, a, 1, ip, anrm, rcond, w, iw, info )
356 CALL chkxer(
'DGBCON', infot, nout, lerr, ok )
358 CALL dgbcon(
'1', -1, 0, 0, a, 1, ip, anrm, rcond, w, iw,
360 CALL chkxer(
'DGBCON', infot, nout, lerr, ok )
362 CALL dgbcon(
'1', 1, -1, 0, a, 1, ip, anrm, rcond, w, iw,
364 CALL chkxer(
'DGBCON', infot, nout, lerr, ok )
366 CALL dgbcon(
'1', 1, 0, -1, a, 1, ip, anrm, rcond, w, iw,
368 CALL chkxer(
'DGBCON', infot, nout, lerr, ok )
370 CALL dgbcon(
'1', 2, 1, 1, a, 3, ip, anrm, rcond, w, iw, info )
371 CALL chkxer(
'DGBCON', infot, nout, lerr, ok )
377 CALL dgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
379 CALL chkxer(
'DGBEQU', infot, nout, lerr, ok )
381 CALL dgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
383 CALL chkxer(
'DGBEQU', infot, nout, lerr, ok )
385 CALL dgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
387 CALL chkxer(
'DGBEQU', infot, nout, lerr, ok )
389 CALL dgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
391 CALL chkxer(
'DGBEQU', infot, nout, lerr, ok )
393 CALL dgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
395 CALL chkxer(
'DGBEQU', infot, nout, lerr, ok )
400 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine derrge(path, nunit)
DERRGE
subroutine dgbcon(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, iwork, info)
DGBCON
subroutine dgbequ(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)
DGBEQU
subroutine dgbrfs(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DGBRFS
subroutine dgbtf2(m, n, kl, ku, ab, ldab, ipiv, info)
DGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
subroutine dgbtrf(m, n, kl, ku, ab, ldab, ipiv, info)
DGBTRF
subroutine dgbtrs(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)
DGBTRS
subroutine dgecon(norm, n, a, lda, anorm, rcond, work, iwork, info)
DGECON
subroutine dgeequ(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)
DGEEQU
subroutine dgerfs(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, iwork, info)
DGERFS
subroutine dgetf2(m, n, a, lda, ipiv, info)
DGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
subroutine dgetrf(m, n, a, lda, ipiv, info)
DGETRF
subroutine dgetri(n, a, lda, ipiv, work, lwork, info)
DGETRI
subroutine dgetrs(trans, n, nrhs, a, lda, ipiv, b, ldb, info)
DGETRS