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 )
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
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 )