74 DOUBLE PRECISION ANRM, CCOND, RCOND
78 DOUBLE PRECISION R( NMAX ), R1( NMAX ), R2( NMAX )
79 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
80 $ W( 2*NMAX ), X( NMAX )
97 COMMON / infoc / infot, nout, ok, lerr
98 COMMON / srnamc / srnamt
101 INTRINSIC dble, dcmplx
106 WRITE( nout, fmt = * )
113 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
114 $ -1.d0 / dble( i+j ) )
115 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
116 $ -1.d0 / dble( i+j ) )
130 IF( lsamen( 2, c2,
'GE' ) )
THEN
136 CALL zgetrf( -1, 0, a, 1, ip, info )
137 CALL chkxer(
'ZGETRF', infot, nout, lerr, ok )
139 CALL zgetrf( 0, -1, a, 1, ip, info )
140 CALL chkxer(
'ZGETRF', infot, nout, lerr, ok )
142 CALL zgetrf( 2, 1, a, 1, ip, info )
143 CALL chkxer(
'ZGETRF', infot, nout, lerr, ok )
149 CALL zgetf2( -1, 0, a, 1, ip, info )
150 CALL chkxer(
'ZGETF2', infot, nout, lerr, ok )
152 CALL zgetf2( 0, -1, a, 1, ip, info )
153 CALL chkxer(
'ZGETF2', infot, nout, lerr, ok )
155 CALL zgetf2( 2, 1, a, 1, ip, info )
156 CALL chkxer(
'ZGETF2', infot, nout, lerr, ok )
162 CALL zgetri( -1, a, 1, ip, w, 1, info )
163 CALL chkxer(
'ZGETRI', infot, nout, lerr, ok )
165 CALL zgetri( 2, a, 1, ip, w, 2, info )
166 CALL chkxer(
'ZGETRI', infot, nout, lerr, ok )
168 CALL zgetri( 2, a, 2, ip, w, 1, info )
169 CALL chkxer(
'ZGETRI', infot, nout, lerr, ok )
175 CALL zgetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
176 CALL chkxer(
'ZGETRS', infot, nout, lerr, ok )
178 CALL zgetrs(
'N', -1, 0, a, 1, ip, b, 1, info )
179 CALL chkxer(
'ZGETRS', infot, nout, lerr, ok )
181 CALL zgetrs(
'N', 0, -1, a, 1, ip, b, 1, info )
182 CALL chkxer(
'ZGETRS', infot, nout, lerr, ok )
184 CALL zgetrs(
'N', 2, 1, a, 1, ip, b, 2, info )
185 CALL chkxer(
'ZGETRS', infot, nout, lerr, ok )
187 CALL zgetrs(
'N', 2, 1, a, 2, ip, b, 1, info )
188 CALL chkxer(
'ZGETRS', infot, nout, lerr, ok )
194 CALL zgerfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
196 CALL chkxer(
'ZGERFS', infot, nout, lerr, ok )
198 CALL zgerfs(
'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
200 CALL chkxer(
'ZGERFS', infot, nout, lerr, ok )
202 CALL zgerfs(
'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
204 CALL chkxer(
'ZGERFS', infot, nout, lerr, ok )
206 CALL zgerfs(
'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
208 CALL chkxer(
'ZGERFS', infot, nout, lerr, ok )
210 CALL zgerfs(
'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
212 CALL chkxer(
'ZGERFS', infot, nout, lerr, ok )
214 CALL zgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
216 CALL chkxer(
'ZGERFS', infot, nout, lerr, ok )
218 CALL zgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
220 CALL chkxer(
'ZGERFS', infot, nout, lerr, ok )
226 CALL zgecon(
'/', 0, a, 1, anrm, rcond, w, r, info )
227 CALL chkxer(
'ZGECON', infot, nout, lerr, ok )
229 CALL zgecon(
'1', -1, a, 1, anrm, rcond, w, r, info )
230 CALL chkxer(
'ZGECON', infot, nout, lerr, ok )
232 CALL zgecon(
'1', 2, a, 1, anrm, rcond, w, r, info )
233 CALL chkxer(
'ZGECON', infot, nout, lerr, ok )
239 CALL zgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
240 CALL chkxer(
'ZGEEQU', infot, nout, lerr, ok )
242 CALL zgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
243 CALL chkxer(
'ZGEEQU', infot, nout, lerr, ok )
245 CALL zgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
246 CALL chkxer(
'ZGEEQU', infot, nout, lerr, ok )
251 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
257 CALL zgbtrf( -1, 0, 0, 0, a, 1, ip, info )
258 CALL chkxer(
'ZGBTRF', infot, nout, lerr, ok )
260 CALL zgbtrf( 0, -1, 0, 0, a, 1, ip, info )
261 CALL chkxer(
'ZGBTRF', infot, nout, lerr, ok )
263 CALL zgbtrf( 1, 1, -1, 0, a, 1, ip, info )
264 CALL chkxer(
'ZGBTRF', infot, nout, lerr, ok )
266 CALL zgbtrf( 1, 1, 0, -1, a, 1, ip, info )
267 CALL chkxer(
'ZGBTRF', infot, nout, lerr, ok )
269 CALL zgbtrf( 2, 2, 1, 1, a, 3, ip, info )
270 CALL chkxer(
'ZGBTRF', infot, nout, lerr, ok )
276 CALL zgbtf2( -1, 0, 0, 0, a, 1, ip, info )
277 CALL chkxer(
'ZGBTF2', infot, nout, lerr, ok )
279 CALL zgbtf2( 0, -1, 0, 0, a, 1, ip, info )
280 CALL chkxer(
'ZGBTF2', infot, nout, lerr, ok )
282 CALL zgbtf2( 1, 1, -1, 0, a, 1, ip, info )
283 CALL chkxer(
'ZGBTF2', infot, nout, lerr, ok )
285 CALL zgbtf2( 1, 1, 0, -1, a, 1, ip, info )
286 CALL chkxer(
'ZGBTF2', infot, nout, lerr, ok )
288 CALL zgbtf2( 2, 2, 1, 1, a, 3, ip, info )
289 CALL chkxer(
'ZGBTF2', infot, nout, lerr, ok )
295 CALL zgbtrs(
'/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
296 CALL chkxer(
'ZGBTRS', infot, nout, lerr, ok )
298 CALL zgbtrs(
'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
299 CALL chkxer(
'ZGBTRS', infot, nout, lerr, ok )
301 CALL zgbtrs(
'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
302 CALL chkxer(
'ZGBTRS', infot, nout, lerr, ok )
304 CALL zgbtrs(
'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
305 CALL chkxer(
'ZGBTRS', infot, nout, lerr, ok )
307 CALL zgbtrs(
'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
308 CALL chkxer(
'ZGBTRS', infot, nout, lerr, ok )
310 CALL zgbtrs(
'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
311 CALL chkxer(
'ZGBTRS', infot, nout, lerr, ok )
313 CALL zgbtrs(
'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
314 CALL chkxer(
'ZGBTRS', infot, nout, lerr, ok )
320 CALL zgbrfs(
'/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
322 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
324 CALL zgbrfs(
'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
326 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
328 CALL zgbrfs(
'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
330 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
332 CALL zgbrfs(
'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
334 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
336 CALL zgbrfs(
'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
338 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
340 CALL zgbrfs(
'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
342 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
344 CALL zgbrfs(
'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
346 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
348 CALL zgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
350 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
352 CALL zgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
354 CALL chkxer(
'ZGBRFS', infot, nout, lerr, ok )
360 CALL zgbcon(
'/', 0, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
361 CALL chkxer(
'ZGBCON', infot, nout, lerr, ok )
363 CALL zgbcon(
'1', -1, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
364 CALL chkxer(
'ZGBCON', infot, nout, lerr, ok )
366 CALL zgbcon(
'1', 1, -1, 0, a, 1, ip, anrm, rcond, w, r, info )
367 CALL chkxer(
'ZGBCON', infot, nout, lerr, ok )
369 CALL zgbcon(
'1', 1, 0, -1, a, 1, ip, anrm, rcond, w, r, info )
370 CALL chkxer(
'ZGBCON', infot, nout, lerr, ok )
372 CALL zgbcon(
'1', 2, 1, 1, a, 3, ip, anrm, rcond, w, r, info )
373 CALL chkxer(
'ZGBCON', infot, nout, lerr, ok )
379 CALL zgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
381 CALL chkxer(
'ZGBEQU', infot, nout, lerr, ok )
383 CALL zgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
385 CALL chkxer(
'ZGBEQU', infot, nout, lerr, ok )
387 CALL zgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
389 CALL chkxer(
'ZGBEQU', infot, nout, lerr, ok )
391 CALL zgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
393 CALL chkxer(
'ZGBEQU', infot, nout, lerr, ok )
395 CALL zgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
397 CALL chkxer(
'ZGBEQU', infot, nout, lerr, ok )
402 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine zgbcon(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info)
ZGBCON
subroutine zgbequ(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)
ZGBEQU
subroutine zgbrfs(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZGBRFS
subroutine zgbtf2(m, n, kl, ku, ab, ldab, ipiv, info)
ZGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
subroutine zgbtrf(m, n, kl, ku, ab, ldab, ipiv, info)
ZGBTRF
subroutine zgbtrs(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)
ZGBTRS
subroutine zgecon(norm, n, a, lda, anorm, rcond, work, rwork, info)
ZGECON
subroutine zgeequ(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)
ZGEEQU
subroutine zgerfs(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
ZGERFS
subroutine zgetf2(m, n, a, lda, ipiv, info)
ZGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
subroutine zgetrf(m, n, a, lda, ipiv, info)
ZGETRF
subroutine zgetri(n, a, lda, ipiv, work, lwork, info)
ZGETRI
subroutine zgetrs(trans, n, nrhs, a, lda, ipiv, b, ldb, info)
ZGETRS
subroutine zerrge(path, nunit)
ZERRGE