59 SUBROUTINE cerrpo( PATH, NUNIT )
80 INTEGER i, info, j, n_err_bnds, nparams
81 REAL anrm, rcond, berr
84 REAL s( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
85 $ err_bnds_n( nmax, 3 ), err_bnds_c( nmax, 3 ),
87 COMPLEX a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
88 $ w( 2*nmax ), x( nmax )
106 common / infoc / infot, nout, ok, lerr
107 common / srnamc / srnamt
110 INTRINSIC cmplx, real
115 WRITE( nout, fmt = * )
122 a( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
123 af( i, j ) = cmplx( 1. /
REAL( I+J ), -1. /
REAL( I+J ) )
138 IF(
lsamen( 2, c2,
'PO' ) )
THEN
144 CALL
cpotrf(
'/', 0, a, 1, info )
145 CALL
chkxer(
'CPOTRF', infot, nout, lerr, ok )
147 CALL
cpotrf(
'U', -1, a, 1, info )
148 CALL
chkxer(
'CPOTRF', infot, nout, lerr, ok )
150 CALL
cpotrf(
'U', 2, a, 1, info )
151 CALL
chkxer(
'CPOTRF', infot, nout, lerr, ok )
157 CALL
cpotf2(
'/', 0, a, 1, info )
158 CALL
chkxer(
'CPOTF2', infot, nout, lerr, ok )
160 CALL
cpotf2(
'U', -1, a, 1, info )
161 CALL
chkxer(
'CPOTF2', infot, nout, lerr, ok )
163 CALL
cpotf2(
'U', 2, a, 1, info )
164 CALL
chkxer(
'CPOTF2', infot, nout, lerr, ok )
170 CALL
cpotri(
'/', 0, a, 1, info )
171 CALL
chkxer(
'CPOTRI', infot, nout, lerr, ok )
173 CALL
cpotri(
'U', -1, a, 1, info )
174 CALL
chkxer(
'CPOTRI', infot, nout, lerr, ok )
176 CALL
cpotri(
'U', 2, a, 1, info )
177 CALL
chkxer(
'CPOTRI', infot, nout, lerr, ok )
183 CALL
cpotrs(
'/', 0, 0, a, 1, b, 1, info )
184 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
186 CALL
cpotrs(
'U', -1, 0, a, 1, b, 1, info )
187 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
189 CALL
cpotrs(
'U', 0, -1, a, 1, b, 1, info )
190 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
192 CALL
cpotrs(
'U', 2, 1, a, 1, b, 2, info )
193 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
195 CALL
cpotrs(
'U', 2, 1, a, 2, b, 1, info )
196 CALL
chkxer(
'CPOTRS', infot, nout, lerr, ok )
202 CALL
cporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
204 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
206 CALL
cporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
208 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
210 CALL
cporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
212 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
214 CALL
cporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
216 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
218 CALL
cporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
220 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
222 CALL
cporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
224 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
226 CALL
cporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
228 CALL
chkxer(
'CPORFS', infot, nout, lerr, ok )
236 CALL
cporfsx(
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
237 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
238 $ params, w, r, info )
239 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
241 CALL
cporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
242 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
243 $ params, w, r, info )
244 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
247 CALL
cporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
248 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
249 $ params, w, r, info )
250 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
252 CALL
cporfsx(
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
253 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
254 $ params, w, r, info )
255 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
257 CALL
cporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
258 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
259 $ params, w, r, info )
260 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
262 CALL
cporfsx(
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
263 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
264 $ params, w, r, info )
265 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
267 CALL
cporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
268 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
269 $ params, w, r, info )
270 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
272 CALL
cporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
273 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
274 $ params, w, r, info )
275 CALL
chkxer(
'CPORFSX', infot, nout, lerr, ok )
281 CALL
cpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
282 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
284 CALL
cpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
285 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
287 CALL
cpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
288 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
290 CALL
cpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
291 CALL
chkxer(
'CPOCON', infot, nout, lerr, ok )
297 CALL
cpoequ( -1, a, 1, r1, rcond, anrm, info )
298 CALL
chkxer(
'CPOEQU', infot, nout, lerr, ok )
300 CALL
cpoequ( 2, a, 1, r1, rcond, anrm, info )
301 CALL
chkxer(
'CPOEQU', infot, nout, lerr, ok )
307 CALL
cpoequb( -1, a, 1, r1, rcond, anrm, info )
308 CALL
chkxer(
'CPOEQUB', infot, nout, lerr, ok )
310 CALL
cpoequb( 2, a, 1, r1, rcond, anrm, info )
311 CALL
chkxer(
'CPOEQUB', infot, nout, lerr, ok )
316 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
322 CALL
cpptrf(
'/', 0, a, info )
323 CALL
chkxer(
'CPPTRF', infot, nout, lerr, ok )
325 CALL
cpptrf(
'U', -1, a, info )
326 CALL
chkxer(
'CPPTRF', infot, nout, lerr, ok )
332 CALL
cpptri(
'/', 0, a, info )
333 CALL
chkxer(
'CPPTRI', infot, nout, lerr, ok )
335 CALL
cpptri(
'U', -1, a, info )
336 CALL
chkxer(
'CPPTRI', infot, nout, lerr, ok )
342 CALL
cpptrs(
'/', 0, 0, a, b, 1, info )
343 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
345 CALL
cpptrs(
'U', -1, 0, a, b, 1, info )
346 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
348 CALL
cpptrs(
'U', 0, -1, a, b, 1, info )
349 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
351 CALL
cpptrs(
'U', 2, 1, a, b, 1, info )
352 CALL
chkxer(
'CPPTRS', infot, nout, lerr, ok )
358 CALL
cpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
359 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
361 CALL
cpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
363 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
365 CALL
cpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
367 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
369 CALL
cpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
370 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
372 CALL
cpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
373 CALL
chkxer(
'CPPRFS', infot, nout, lerr, ok )
379 CALL
cppcon(
'/', 0, a, anrm, rcond, w, r, info )
380 CALL
chkxer(
'CPPCON', infot, nout, lerr, ok )
382 CALL
cppcon(
'U', -1, a, anrm, rcond, w, r, info )
383 CALL
chkxer(
'CPPCON', infot, nout, lerr, ok )
385 CALL
cppcon(
'U', 1, a, -anrm, rcond, w, r, info )
386 CALL
chkxer(
'CPPCON', infot, nout, lerr, ok )
392 CALL
cppequ(
'/', 0, a, r1, rcond, anrm, info )
393 CALL
chkxer(
'CPPEQU', infot, nout, lerr, ok )
395 CALL
cppequ(
'U', -1, a, r1, rcond, anrm, info )
396 CALL
chkxer(
'CPPEQU', infot, nout, lerr, ok )
401 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
407 CALL
cpbtrf(
'/', 0, 0, a, 1, info )
408 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
410 CALL
cpbtrf(
'U', -1, 0, a, 1, info )
411 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
413 CALL
cpbtrf(
'U', 1, -1, a, 1, info )
414 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
416 CALL
cpbtrf(
'U', 2, 1, a, 1, info )
417 CALL
chkxer(
'CPBTRF', infot, nout, lerr, ok )
423 CALL
cpbtf2(
'/', 0, 0, a, 1, info )
424 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
426 CALL
cpbtf2(
'U', -1, 0, a, 1, info )
427 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
429 CALL
cpbtf2(
'U', 1, -1, a, 1, info )
430 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
432 CALL
cpbtf2(
'U', 2, 1, a, 1, info )
433 CALL
chkxer(
'CPBTF2', infot, nout, lerr, ok )
439 CALL
cpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
440 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
442 CALL
cpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
443 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
445 CALL
cpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
446 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
448 CALL
cpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
449 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
451 CALL
cpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
452 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
454 CALL
cpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
455 CALL
chkxer(
'CPBTRS', infot, nout, lerr, ok )
461 CALL
cpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
463 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
465 CALL
cpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
467 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
469 CALL
cpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
471 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
473 CALL
cpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
475 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
477 CALL
cpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
479 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
481 CALL
cpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
483 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
485 CALL
cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
487 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
489 CALL
cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
491 CALL
chkxer(
'CPBRFS', infot, nout, lerr, ok )
497 CALL
cpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
498 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
500 CALL
cpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
501 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
503 CALL
cpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
504 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
506 CALL
cpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
507 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
509 CALL
cpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
510 CALL
chkxer(
'CPBCON', infot, nout, lerr, ok )
516 CALL
cpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
517 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
519 CALL
cpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
520 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
522 CALL
cpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
523 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
525 CALL
cpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
526 CALL
chkxer(
'CPBEQU', infot, nout, lerr, ok )
531 CALL
alaesm( path, ok, nout )