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 )