74 REAL ANRM, CCOND, RCOND
78 REAL R( NMAX ), R1( NMAX ), R2( NMAX )
79 COMPLEX 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 cmplx, real
106 WRITE( nout, fmt = * )
113 a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
114 af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
128 IF( lsamen( 2, c2,
'GE' ) )
THEN
134 CALL cgetrf( -1, 0, a, 1, ip, info )
135 CALL chkxer(
'CGETRF', infot, nout, lerr, ok )
137 CALL cgetrf( 0, -1, a, 1, ip, info )
138 CALL chkxer(
'CGETRF', infot, nout, lerr, ok )
140 CALL cgetrf( 2, 1, a, 1, ip, info )
141 CALL chkxer(
'CGETRF', infot, nout, lerr, ok )
147 CALL cgetf2( -1, 0, a, 1, ip, info )
148 CALL chkxer(
'CGETF2', infot, nout, lerr, ok )
150 CALL cgetf2( 0, -1, a, 1, ip, info )
151 CALL chkxer(
'CGETF2', infot, nout, lerr, ok )
153 CALL cgetf2( 2, 1, a, 1, ip, info )
154 CALL chkxer(
'CGETF2', infot, nout, lerr, ok )
160 CALL cgetri( -1, a, 1, ip, w, 1, info )
161 CALL chkxer(
'CGETRI', infot, nout, lerr, ok )
163 CALL cgetri( 2, a, 1, ip, w, 2, info )
164 CALL chkxer(
'CGETRI', infot, nout, lerr, ok )
166 CALL cgetri( 2, a, 2, ip, w, 1, info )
167 CALL chkxer(
'CGETRI', infot, nout, lerr, ok )
173 CALL cgetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
174 CALL chkxer(
'CGETRS', infot, nout, lerr, ok )
176 CALL cgetrs(
'N', -1, 0, a, 1, ip, b, 1, info )
177 CALL chkxer(
'CGETRS', infot, nout, lerr, ok )
179 CALL cgetrs(
'N', 0, -1, a, 1, ip, b, 1, info )
180 CALL chkxer(
'CGETRS', infot, nout, lerr, ok )
182 CALL cgetrs(
'N', 2, 1, a, 1, ip, b, 2, info )
183 CALL chkxer(
'CGETRS', infot, nout, lerr, ok )
185 CALL cgetrs(
'N', 2, 1, a, 2, ip, b, 1, info )
186 CALL chkxer(
'CGETRS', infot, nout, lerr, ok )
192 CALL cgerfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
194 CALL chkxer(
'CGERFS', infot, nout, lerr, ok )
196 CALL cgerfs(
'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
198 CALL chkxer(
'CGERFS', infot, nout, lerr, ok )
200 CALL cgerfs(
'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
202 CALL chkxer(
'CGERFS', infot, nout, lerr, ok )
204 CALL cgerfs(
'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
206 CALL chkxer(
'CGERFS', infot, nout, lerr, ok )
208 CALL cgerfs(
'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
210 CALL chkxer(
'CGERFS', infot, nout, lerr, ok )
212 CALL cgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
214 CALL chkxer(
'CGERFS', infot, nout, lerr, ok )
216 CALL cgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
218 CALL chkxer(
'CGERFS', infot, nout, lerr, ok )
224 CALL cgecon(
'/', 0, a, 1, anrm, rcond, w, r, info )
225 CALL chkxer(
'CGECON', infot, nout, lerr, ok )
227 CALL cgecon(
'1', -1, a, 1, anrm, rcond, w, r, info )
228 CALL chkxer(
'CGECON', infot, nout, lerr, ok )
230 CALL cgecon(
'1', 2, a, 1, anrm, rcond, w, r, info )
231 CALL chkxer(
'CGECON', infot, nout, lerr, ok )
237 CALL cgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
238 CALL chkxer(
'CGEEQU', infot, nout, lerr, ok )
240 CALL cgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
241 CALL chkxer(
'CGEEQU', infot, nout, lerr, ok )
243 CALL cgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
244 CALL chkxer(
'CGEEQU', infot, nout, lerr, ok )
249 ELSE IF( lsamen( 2, c2,
'GB' ) )
THEN
255 CALL cgbtrf( -1, 0, 0, 0, a, 1, ip, info )
256 CALL chkxer(
'CGBTRF', infot, nout, lerr, ok )
258 CALL cgbtrf( 0, -1, 0, 0, a, 1, ip, info )
259 CALL chkxer(
'CGBTRF', infot, nout, lerr, ok )
261 CALL cgbtrf( 1, 1, -1, 0, a, 1, ip, info )
262 CALL chkxer(
'CGBTRF', infot, nout, lerr, ok )
264 CALL cgbtrf( 1, 1, 0, -1, a, 1, ip, info )
265 CALL chkxer(
'CGBTRF', infot, nout, lerr, ok )
267 CALL cgbtrf( 2, 2, 1, 1, a, 3, ip, info )
268 CALL chkxer(
'CGBTRF', infot, nout, lerr, ok )
274 CALL cgbtf2( -1, 0, 0, 0, a, 1, ip, info )
275 CALL chkxer(
'CGBTF2', infot, nout, lerr, ok )
277 CALL cgbtf2( 0, -1, 0, 0, a, 1, ip, info )
278 CALL chkxer(
'CGBTF2', infot, nout, lerr, ok )
280 CALL cgbtf2( 1, 1, -1, 0, a, 1, ip, info )
281 CALL chkxer(
'CGBTF2', infot, nout, lerr, ok )
283 CALL cgbtf2( 1, 1, 0, -1, a, 1, ip, info )
284 CALL chkxer(
'CGBTF2', infot, nout, lerr, ok )
286 CALL cgbtf2( 2, 2, 1, 1, a, 3, ip, info )
287 CALL chkxer(
'CGBTF2', infot, nout, lerr, ok )
293 CALL cgbtrs(
'/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
294 CALL chkxer(
'CGBTRS', infot, nout, lerr, ok )
296 CALL cgbtrs(
'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
297 CALL chkxer(
'CGBTRS', infot, nout, lerr, ok )
299 CALL cgbtrs(
'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
300 CALL chkxer(
'CGBTRS', infot, nout, lerr, ok )
302 CALL cgbtrs(
'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
303 CALL chkxer(
'CGBTRS', infot, nout, lerr, ok )
305 CALL cgbtrs(
'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
306 CALL chkxer(
'CGBTRS', infot, nout, lerr, ok )
308 CALL cgbtrs(
'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
309 CALL chkxer(
'CGBTRS', infot, nout, lerr, ok )
311 CALL cgbtrs(
'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
312 CALL chkxer(
'CGBTRS', infot, nout, lerr, ok )
318 CALL cgbrfs(
'/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
320 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
322 CALL cgbrfs(
'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
324 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
326 CALL cgbrfs(
'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
328 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
330 CALL cgbrfs(
'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
332 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
334 CALL cgbrfs(
'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
336 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
338 CALL cgbrfs(
'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
340 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
342 CALL cgbrfs(
'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
344 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
346 CALL cgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
348 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
350 CALL cgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
352 CALL chkxer(
'CGBRFS', infot, nout, lerr, ok )
358 CALL cgbcon(
'/', 0, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
359 CALL chkxer(
'CGBCON', infot, nout, lerr, ok )
361 CALL cgbcon(
'1', -1, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
362 CALL chkxer(
'CGBCON', infot, nout, lerr, ok )
364 CALL cgbcon(
'1', 1, -1, 0, a, 1, ip, anrm, rcond, w, r, info )
365 CALL chkxer(
'CGBCON', infot, nout, lerr, ok )
367 CALL cgbcon(
'1', 1, 0, -1, a, 1, ip, anrm, rcond, w, r, info )
368 CALL chkxer(
'CGBCON', infot, nout, lerr, ok )
370 CALL cgbcon(
'1', 2, 1, 1, a, 3, ip, anrm, rcond, w, r, info )
371 CALL chkxer(
'CGBCON', infot, nout, lerr, ok )
377 CALL cgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
379 CALL chkxer(
'CGBEQU', infot, nout, lerr, ok )
381 CALL cgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
383 CALL chkxer(
'CGBEQU', infot, nout, lerr, ok )
385 CALL cgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
387 CALL chkxer(
'CGBEQU', infot, nout, lerr, ok )
389 CALL cgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
391 CALL chkxer(
'CGBEQU', infot, nout, lerr, ok )
393 CALL cgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
395 CALL chkxer(
'CGBEQU', infot, nout, lerr, ok )
400 CALL alaesm( path, ok, nout )
subroutine alaesm(path, ok, nout)
ALAESM
subroutine chkxer(srnamt, infot, nout, lerr, ok)
subroutine cerrge(path, nunit)
CERRGE
subroutine cgbcon(norm, n, kl, ku, ab, ldab, ipiv, anorm, rcond, work, rwork, info)
CGBCON
subroutine cgbequ(m, n, kl, ku, ab, ldab, r, c, rowcnd, colcnd, amax, info)
CGBEQU
subroutine cgbrfs(trans, n, kl, ku, nrhs, ab, ldab, afb, ldafb, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
CGBRFS
subroutine cgbtf2(m, n, kl, ku, ab, ldab, ipiv, info)
CGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
subroutine cgbtrf(m, n, kl, ku, ab, ldab, ipiv, info)
CGBTRF
subroutine cgbtrs(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)
CGBTRS
subroutine cgecon(norm, n, a, lda, anorm, rcond, work, rwork, info)
CGECON
subroutine cgeequ(m, n, a, lda, r, c, rowcnd, colcnd, amax, info)
CGEEQU
subroutine cgerfs(trans, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
CGERFS
subroutine cgetf2(m, n, a, lda, ipiv, info)
CGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
subroutine cgetrf(m, n, a, lda, ipiv, info)
CGETRF
subroutine cgetri(n, a, lda, ipiv, work, lwork, info)
CGETRI
subroutine cgetrs(trans, n, nrhs, a, lda, ipiv, b, ldb, info)
CGETRS