59 SUBROUTINE cerrge( PATH, NUNIT )
80 INTEGER i, info, j, n_err_bnds, nparams
81 REAL anrm, ccond, rcond, berr
85 REAL r( nmax ), r1( nmax ), r2( nmax ), cs( nmax ),
87 COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
88 $ w( 2*nmax ), x( nmax ), err_bnds_n( nmax, 3 ),
89 $ err_bnds_c( nmax, 3 ), params( 1 )
107 common / infoc / infot, nout, ok, lerr
108 common / srnamc / srnamt
111 INTRINSIC cmplx, real
116 WRITE( nout, fmt = * )
123 a( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
124 af( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
140 IF(
lsamen( 2, c2,
'GE' ) )
THEN
146 CALL
cgetrf( -1, 0, a, 1, ip, info )
147 CALL
chkxer(
'CGETRF', infot, nout, lerr, ok )
149 CALL
cgetrf( 0, -1, a, 1, ip, info )
150 CALL
chkxer(
'CGETRF', infot, nout, lerr, ok )
152 CALL
cgetrf( 2, 1, a, 1, ip, info )
153 CALL
chkxer(
'CGETRF', infot, nout, lerr, ok )
159 CALL
cgetf2( -1, 0, a, 1, ip, info )
160 CALL
chkxer(
'CGETF2', infot, nout, lerr, ok )
162 CALL
cgetf2( 0, -1, a, 1, ip, info )
163 CALL
chkxer(
'CGETF2', infot, nout, lerr, ok )
165 CALL
cgetf2( 2, 1, a, 1, ip, info )
166 CALL
chkxer(
'CGETF2', infot, nout, lerr, ok )
172 CALL
cgetri( -1, a, 1, ip, w, 1, info )
173 CALL
chkxer(
'CGETRI', infot, nout, lerr, ok )
175 CALL
cgetri( 2, a, 1, ip, w, 2, info )
176 CALL
chkxer(
'CGETRI', infot, nout, lerr, ok )
178 CALL
cgetri( 2, a, 2, ip, w, 1, info )
179 CALL
chkxer(
'CGETRI', infot, nout, lerr, ok )
185 CALL
cgetrs(
'/', 0, 0, a, 1, ip, b, 1, info )
186 CALL
chkxer(
'CGETRS', infot, nout, lerr, ok )
188 CALL
cgetrs(
'N', -1, 0, a, 1, ip, b, 1, info )
189 CALL
chkxer(
'CGETRS', infot, nout, lerr, ok )
191 CALL
cgetrs(
'N', 0, -1, a, 1, ip, b, 1, info )
192 CALL
chkxer(
'CGETRS', infot, nout, lerr, ok )
194 CALL
cgetrs(
'N', 2, 1, a, 1, ip, b, 2, info )
195 CALL
chkxer(
'CGETRS', infot, nout, lerr, ok )
197 CALL
cgetrs(
'N', 2, 1, a, 2, ip, b, 1, info )
198 CALL
chkxer(
'CGETRS', infot, nout, lerr, ok )
204 CALL
cgerfs(
'/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2, w,
206 CALL
chkxer(
'CGERFS', infot, nout, lerr, ok )
208 CALL
cgerfs(
'N', -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
210 CALL
chkxer(
'CGERFS', infot, nout, lerr, ok )
212 CALL
cgerfs(
'N', 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1, r2,
214 CALL
chkxer(
'CGERFS', infot, nout, lerr, ok )
216 CALL
cgerfs(
'N', 2, 1, a, 1, af, 2, ip, b, 2, x, 2, r1, r2, w,
218 CALL
chkxer(
'CGERFS', infot, nout, lerr, ok )
220 CALL
cgerfs(
'N', 2, 1, a, 2, af, 1, ip, b, 2, x, 2, r1, r2, w,
222 CALL
chkxer(
'CGERFS', infot, nout, lerr, ok )
224 CALL
cgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 1, x, 2, r1, r2, w,
226 CALL
chkxer(
'CGERFS', infot, nout, lerr, ok )
228 CALL
cgerfs(
'N', 2, 1, a, 2, af, 2, ip, b, 2, x, 1, r1, r2, w,
230 CALL
chkxer(
'CGERFS', infot, nout, lerr, ok )
238 CALL
cgerfsx(
'/', eq, 0, 0, a, 1, af, 1, ip, rs, cs, b, 1, x,
239 $ 1, rcond, berr, n_err_bnds, err_bnds_n,
240 $ err_bnds_c, nparams, params, w, r, info )
241 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
244 CALL
cgerfsx(
'N', eq, 2, 1, a, 1, af, 2, ip, rs, cs, b, 2, x,
245 $ 2, rcond, berr, n_err_bnds, err_bnds_n,
246 $ err_bnds_c, nparams, params, w, r, info )
247 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
250 CALL
cgerfsx(
'N', eq, -1, 0, a, 1, af, 1, ip, rs, cs, b, 1, x,
251 $ 1, rcond, berr, n_err_bnds, err_bnds_n,
252 $ err_bnds_c, nparams, params, w, r, info )
253 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
255 CALL
cgerfsx(
'N', eq, 0, -1, a, 1, af, 1, ip, rs, cs, b, 1, x,
256 $ 1, rcond, berr, n_err_bnds, err_bnds_n,
257 $ err_bnds_c, nparams, params, w, r, info )
258 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
260 CALL
cgerfsx(
'N', eq, 2, 1, a, 1, af, 2, ip, rs, cs, b, 2, x,
261 $ 2, rcond, berr, n_err_bnds, err_bnds_n,
262 $ err_bnds_c, nparams, params, w, r, info )
263 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
265 CALL
cgerfsx(
'N', eq, 2, 1, a, 2, af, 1, ip, rs, cs, b, 2, x,
266 $ 2, rcond, berr, n_err_bnds, err_bnds_n,
267 $ err_bnds_c, nparams, params, w, r, info )
268 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
271 CALL
cgerfsx(
'N', eq, 2, 1, a, 2, af, 2, ip, rs, cs, b, 1, x,
272 $ 2, rcond, berr, n_err_bnds, err_bnds_n,
273 $ err_bnds_c, nparams, params, w, r, info )
274 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
276 CALL
cgerfsx(
'N', eq, 2, 1, a, 2, af, 2, ip, rs, cs, b, 2, x,
277 $ 1, rcond, berr, n_err_bnds, err_bnds_n,
278 $ err_bnds_c, nparams, params, w, r, info )
279 CALL
chkxer(
'CGERFSX', infot, nout, lerr, ok )
285 CALL
cgecon(
'/', 0, a, 1, anrm, rcond, w, r, info )
286 CALL
chkxer(
'CGECON', infot, nout, lerr, ok )
288 CALL
cgecon(
'1', -1, a, 1, anrm, rcond, w, r, info )
289 CALL
chkxer(
'CGECON', infot, nout, lerr, ok )
291 CALL
cgecon(
'1', 2, a, 1, anrm, rcond, w, r, info )
292 CALL
chkxer(
'CGECON', infot, nout, lerr, ok )
298 CALL
cgeequ( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
299 CALL
chkxer(
'CGEEQU', infot, nout, lerr, ok )
301 CALL
cgeequ( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
302 CALL
chkxer(
'CGEEQU', infot, nout, lerr, ok )
304 CALL
cgeequ( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
305 CALL
chkxer(
'CGEEQU', infot, nout, lerr, ok )
311 CALL
cgeequb( -1, 0, a, 1, r1, r2, rcond, ccond, anrm, info )
312 CALL
chkxer(
'CGEEQUB', infot, nout, lerr, ok )
314 CALL
cgeequb( 0, -1, a, 1, r1, r2, rcond, ccond, anrm, info )
315 CALL
chkxer(
'CGEEQUB', infot, nout, lerr, ok )
317 CALL
cgeequb( 2, 2, a, 1, r1, r2, rcond, ccond, anrm, info )
318 CALL
chkxer(
'CGEEQUB', infot, nout, lerr, ok )
323 ELSE IF(
lsamen( 2, c2,
'GB' ) )
THEN
329 CALL
cgbtrf( -1, 0, 0, 0, a, 1, ip, info )
330 CALL
chkxer(
'CGBTRF', infot, nout, lerr, ok )
332 CALL
cgbtrf( 0, -1, 0, 0, a, 1, ip, info )
333 CALL
chkxer(
'CGBTRF', infot, nout, lerr, ok )
335 CALL
cgbtrf( 1, 1, -1, 0, a, 1, ip, info )
336 CALL
chkxer(
'CGBTRF', infot, nout, lerr, ok )
338 CALL
cgbtrf( 1, 1, 0, -1, a, 1, ip, info )
339 CALL
chkxer(
'CGBTRF', infot, nout, lerr, ok )
341 CALL
cgbtrf( 2, 2, 1, 1, a, 3, ip, info )
342 CALL
chkxer(
'CGBTRF', infot, nout, lerr, ok )
348 CALL
cgbtf2( -1, 0, 0, 0, a, 1, ip, info )
349 CALL
chkxer(
'CGBTF2', infot, nout, lerr, ok )
351 CALL
cgbtf2( 0, -1, 0, 0, a, 1, ip, info )
352 CALL
chkxer(
'CGBTF2', infot, nout, lerr, ok )
354 CALL
cgbtf2( 1, 1, -1, 0, a, 1, ip, info )
355 CALL
chkxer(
'CGBTF2', infot, nout, lerr, ok )
357 CALL
cgbtf2( 1, 1, 0, -1, a, 1, ip, info )
358 CALL
chkxer(
'CGBTF2', infot, nout, lerr, ok )
360 CALL
cgbtf2( 2, 2, 1, 1, a, 3, ip, info )
361 CALL
chkxer(
'CGBTF2', infot, nout, lerr, ok )
367 CALL
cgbtrs(
'/', 0, 0, 0, 1, a, 1, ip, b, 1, info )
368 CALL
chkxer(
'CGBTRS', infot, nout, lerr, ok )
370 CALL
cgbtrs(
'N', -1, 0, 0, 1, a, 1, ip, b, 1, info )
371 CALL
chkxer(
'CGBTRS', infot, nout, lerr, ok )
373 CALL
cgbtrs(
'N', 1, -1, 0, 1, a, 1, ip, b, 1, info )
374 CALL
chkxer(
'CGBTRS', infot, nout, lerr, ok )
376 CALL
cgbtrs(
'N', 1, 0, -1, 1, a, 1, ip, b, 1, info )
377 CALL
chkxer(
'CGBTRS', infot, nout, lerr, ok )
379 CALL
cgbtrs(
'N', 1, 0, 0, -1, a, 1, ip, b, 1, info )
380 CALL
chkxer(
'CGBTRS', infot, nout, lerr, ok )
382 CALL
cgbtrs(
'N', 2, 1, 1, 1, a, 3, ip, b, 2, info )
383 CALL
chkxer(
'CGBTRS', infot, nout, lerr, ok )
385 CALL
cgbtrs(
'N', 2, 0, 0, 1, a, 1, ip, b, 1, info )
386 CALL
chkxer(
'CGBTRS', infot, nout, lerr, ok )
392 CALL
cgbrfs(
'/', 0, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
394 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
396 CALL
cgbrfs(
'N', -1, 0, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
398 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
400 CALL
cgbrfs(
'N', 1, -1, 0, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
402 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
404 CALL
cgbrfs(
'N', 1, 0, -1, 0, a, 1, af, 1, ip, b, 1, x, 1, r1,
406 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
408 CALL
cgbrfs(
'N', 1, 0, 0, -1, a, 1, af, 1, ip, b, 1, x, 1, r1,
410 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
412 CALL
cgbrfs(
'N', 2, 1, 1, 1, a, 2, af, 4, ip, b, 2, x, 2, r1,
414 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
416 CALL
cgbrfs(
'N', 2, 1, 1, 1, a, 3, af, 3, ip, b, 2, x, 2, r1,
418 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
420 CALL
cgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 1, x, 2, r1,
422 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
424 CALL
cgbrfs(
'N', 2, 0, 0, 1, a, 1, af, 1, ip, b, 2, x, 1, r1,
426 CALL
chkxer(
'CGBRFS', infot, nout, lerr, ok )
434 CALL
cgbrfsx(
'/', eq, 0, 0, 0, 0, a, 1, af, 1, ip, rs, cs, b,
435 $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
436 $ err_bnds_c, nparams, params, w, r, info )
437 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
440 CALL
cgbrfsx(
'N', eq, 2, 1, 1, 1, a, 1, af, 2, ip, rs, cs, b,
441 $ 2, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
442 $ err_bnds_c, nparams, params, w, r, info )
443 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
446 CALL
cgbrfsx(
'N', eq, -1, 1, 1, 0, a, 1, af, 1, ip, rs, cs, b,
447 $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
448 $ err_bnds_c, nparams, params, w, r, info )
449 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
452 CALL
cgbrfsx(
'N', eq, 2, -1, 1, 1, a, 3, af, 4, ip, rs, cs, b,
453 $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
454 $ err_bnds_c, nparams, params, w, r, info )
455 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
458 CALL
cgbrfsx(
'N', eq, 2, 1, -1, 1, a, 3, af, 4, ip, rs, cs, b,
459 $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
460 $ err_bnds_c, nparams, params, w, r, info )
461 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
463 CALL
cgbrfsx(
'N', eq, 0, 0, 0, -1, a, 1, af, 1, ip, rs, cs, b,
464 $ 1, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
465 $ err_bnds_c, nparams, params, w, r, info )
466 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
468 CALL
cgbrfsx(
'N', eq, 2, 1, 1, 1, a, 1, af, 2, ip, rs, cs, b,
469 $ 2, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
470 $ err_bnds_c, nparams, params, w, r, info )
471 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
473 CALL
cgbrfsx(
'N', eq, 2, 1, 1, 1, a, 3, af, 3, ip, rs, cs, b,
474 $ 2, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
475 $ err_bnds_c, nparams, params, w, r, info )
476 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
479 CALL
cgbrfsx(
'N', eq, 2, 1, 1, 1, a, 3, af, 5, ip, rs, cs, b,
480 $ 1, x, 2, rcond, berr, n_err_bnds, err_bnds_n,
481 $ err_bnds_c, nparams, params, w, r, info )
482 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
484 CALL
cgbrfsx(
'N', eq, 2, 1, 1, 1, a, 3, af, 5, ip, rs, cs, b,
485 $ 2, x, 1, rcond, berr, n_err_bnds, err_bnds_n,
486 $ err_bnds_c, nparams, params, w, r, info )
487 CALL
chkxer(
'CGBRFSX', infot, nout, lerr, ok )
493 CALL
cgbcon(
'/', 0, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
494 CALL
chkxer(
'CGBCON', infot, nout, lerr, ok )
496 CALL
cgbcon(
'1', -1, 0, 0, a, 1, ip, anrm, rcond, w, r, info )
497 CALL
chkxer(
'CGBCON', infot, nout, lerr, ok )
499 CALL
cgbcon(
'1', 1, -1, 0, a, 1, ip, anrm, rcond, w, r, info )
500 CALL
chkxer(
'CGBCON', infot, nout, lerr, ok )
502 CALL
cgbcon(
'1', 1, 0, -1, a, 1, ip, anrm, rcond, w, r, info )
503 CALL
chkxer(
'CGBCON', infot, nout, lerr, ok )
505 CALL
cgbcon(
'1', 2, 1, 1, a, 3, ip, anrm, rcond, w, r, info )
506 CALL
chkxer(
'CGBCON', infot, nout, lerr, ok )
512 CALL
cgbequ( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
514 CALL
chkxer(
'CGBEQU', infot, nout, lerr, ok )
516 CALL
cgbequ( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
518 CALL
chkxer(
'CGBEQU', infot, nout, lerr, ok )
520 CALL
cgbequ( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
522 CALL
chkxer(
'CGBEQU', infot, nout, lerr, ok )
524 CALL
cgbequ( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
526 CALL
chkxer(
'CGBEQU', infot, nout, lerr, ok )
528 CALL
cgbequ( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
530 CALL
chkxer(
'CGBEQU', infot, nout, lerr, ok )
536 CALL
cgbequb( -1, 0, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
538 CALL
chkxer(
'CGBEQUB', infot, nout, lerr, ok )
540 CALL
cgbequb( 0, -1, 0, 0, a, 1, r1, r2, rcond, ccond, anrm,
542 CALL
chkxer(
'CGBEQUB', infot, nout, lerr, ok )
544 CALL
cgbequb( 1, 1, -1, 0, a, 1, r1, r2, rcond, ccond, anrm,
546 CALL
chkxer(
'CGBEQUB', infot, nout, lerr, ok )
548 CALL
cgbequb( 1, 1, 0, -1, a, 1, r1, r2, rcond, ccond, anrm,
550 CALL
chkxer(
'CGBEQUB', infot, nout, lerr, ok )
552 CALL
cgbequb( 2, 2, 1, 1, a, 2, r1, r2, rcond, ccond, anrm,
554 CALL
chkxer(
'CGBEQUB', infot, nout, lerr, ok )
559 CALL
alaesm( path, ok, nout )