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 )