59 SUBROUTINE zerrpo( PATH, NUNIT )
80 INTEGER i, info, j, n_err_bnds, nparams
81 DOUBLE PRECISION anrm, rcond, berr
84 DOUBLE PRECISION s( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
85 $ err_bnds_n( nmax, 3 ), err_bnds_c( nmax, 3 ),
87 COMPLEX*16 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 dble, dcmplx
115 WRITE( nout, fmt = * )
122 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
123 $ -1.d0 / dble( i+j ) )
124 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
125 $ -1.d0 / dble( i+j ) )
140 IF(
lsamen( 2, c2,
'PO' ) )
THEN
146 CALL
zpotrf(
'/', 0, a, 1, info )
147 CALL
chkxer(
'ZPOTRF', infot, nout, lerr, ok )
149 CALL
zpotrf(
'U', -1, a, 1, info )
150 CALL
chkxer(
'ZPOTRF', infot, nout, lerr, ok )
152 CALL
zpotrf(
'U', 2, a, 1, info )
153 CALL
chkxer(
'ZPOTRF', infot, nout, lerr, ok )
159 CALL
zpotf2(
'/', 0, a, 1, info )
160 CALL
chkxer(
'ZPOTF2', infot, nout, lerr, ok )
162 CALL
zpotf2(
'U', -1, a, 1, info )
163 CALL
chkxer(
'ZPOTF2', infot, nout, lerr, ok )
165 CALL
zpotf2(
'U', 2, a, 1, info )
166 CALL
chkxer(
'ZPOTF2', infot, nout, lerr, ok )
172 CALL
zpotri(
'/', 0, a, 1, info )
173 CALL
chkxer(
'ZPOTRI', infot, nout, lerr, ok )
175 CALL
zpotri(
'U', -1, a, 1, info )
176 CALL
chkxer(
'ZPOTRI', infot, nout, lerr, ok )
178 CALL
zpotri(
'U', 2, a, 1, info )
179 CALL
chkxer(
'ZPOTRI', infot, nout, lerr, ok )
185 CALL
zpotrs(
'/', 0, 0, a, 1, b, 1, info )
186 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
188 CALL
zpotrs(
'U', -1, 0, a, 1, b, 1, info )
189 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
191 CALL
zpotrs(
'U', 0, -1, a, 1, b, 1, info )
192 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
194 CALL
zpotrs(
'U', 2, 1, a, 1, b, 2, info )
195 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
197 CALL
zpotrs(
'U', 2, 1, a, 2, b, 1, info )
198 CALL
chkxer(
'ZPOTRS', infot, nout, lerr, ok )
204 CALL
zporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
206 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
208 CALL
zporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
210 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
212 CALL
zporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
214 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
216 CALL
zporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
218 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
220 CALL
zporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
222 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
224 CALL
zporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
226 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
228 CALL
zporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
230 CALL
chkxer(
'ZPORFS', infot, nout, lerr, ok )
238 CALL
zporfsx(
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
239 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
240 $ params, w, r, info )
241 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
243 CALL
zporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
244 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
245 $ params, w, r, info )
246 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
249 CALL
zporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
250 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
251 $ params, w, r, info )
252 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
254 CALL
zporfsx(
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
255 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
256 $ params, w, r, info )
257 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
259 CALL
zporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
260 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
261 $ params, w, r, info )
262 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
264 CALL
zporfsx(
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
265 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
266 $ params, w, r, info )
267 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
269 CALL
zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
270 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
271 $ params, w, r, info )
272 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
274 CALL
zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
275 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
276 $ params, w, r, info )
277 CALL
chkxer(
'ZPORFSX', infot, nout, lerr, ok )
283 CALL
zpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
284 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
286 CALL
zpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
287 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
289 CALL
zpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
290 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
292 CALL
zpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
293 CALL
chkxer(
'ZPOCON', infot, nout, lerr, ok )
299 CALL
zpoequ( -1, a, 1, r1, rcond, anrm, info )
300 CALL
chkxer(
'ZPOEQU', infot, nout, lerr, ok )
302 CALL
zpoequ( 2, a, 1, r1, rcond, anrm, info )
303 CALL
chkxer(
'ZPOEQU', infot, nout, lerr, ok )
309 CALL
zpoequb( -1, a, 1, r1, rcond, anrm, info )
310 CALL
chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
312 CALL
zpoequb( 2, a, 1, r1, rcond, anrm, info )
313 CALL
chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
318 ELSE IF(
lsamen( 2, c2,
'PP' ) )
THEN
324 CALL
zpptrf(
'/', 0, a, info )
325 CALL
chkxer(
'ZPPTRF', infot, nout, lerr, ok )
327 CALL
zpptrf(
'U', -1, a, info )
328 CALL
chkxer(
'ZPPTRF', infot, nout, lerr, ok )
334 CALL
zpptri(
'/', 0, a, info )
335 CALL
chkxer(
'ZPPTRI', infot, nout, lerr, ok )
337 CALL
zpptri(
'U', -1, a, info )
338 CALL
chkxer(
'ZPPTRI', infot, nout, lerr, ok )
344 CALL
zpptrs(
'/', 0, 0, a, b, 1, info )
345 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
347 CALL
zpptrs(
'U', -1, 0, a, b, 1, info )
348 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
350 CALL
zpptrs(
'U', 0, -1, a, b, 1, info )
351 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
353 CALL
zpptrs(
'U', 2, 1, a, b, 1, info )
354 CALL
chkxer(
'ZPPTRS', infot, nout, lerr, ok )
360 CALL
zpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
361 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
363 CALL
zpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
365 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
367 CALL
zpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
369 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
371 CALL
zpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
372 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
374 CALL
zpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
375 CALL
chkxer(
'ZPPRFS', infot, nout, lerr, ok )
381 CALL
zppcon(
'/', 0, a, anrm, rcond, w, r, info )
382 CALL
chkxer(
'ZPPCON', infot, nout, lerr, ok )
384 CALL
zppcon(
'U', -1, a, anrm, rcond, w, r, info )
385 CALL
chkxer(
'ZPPCON', infot, nout, lerr, ok )
387 CALL
zppcon(
'U', 1, a, -anrm, rcond, w, r, info )
388 CALL
chkxer(
'ZPPCON', infot, nout, lerr, ok )
394 CALL
zppequ(
'/', 0, a, r1, rcond, anrm, info )
395 CALL
chkxer(
'ZPPEQU', infot, nout, lerr, ok )
397 CALL
zppequ(
'U', -1, a, r1, rcond, anrm, info )
398 CALL
chkxer(
'ZPPEQU', infot, nout, lerr, ok )
403 ELSE IF(
lsamen( 2, c2,
'PB' ) )
THEN
409 CALL
zpbtrf(
'/', 0, 0, a, 1, info )
410 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
412 CALL
zpbtrf(
'U', -1, 0, a, 1, info )
413 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
415 CALL
zpbtrf(
'U', 1, -1, a, 1, info )
416 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
418 CALL
zpbtrf(
'U', 2, 1, a, 1, info )
419 CALL
chkxer(
'ZPBTRF', infot, nout, lerr, ok )
425 CALL
zpbtf2(
'/', 0, 0, a, 1, info )
426 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
428 CALL
zpbtf2(
'U', -1, 0, a, 1, info )
429 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
431 CALL
zpbtf2(
'U', 1, -1, a, 1, info )
432 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
434 CALL
zpbtf2(
'U', 2, 1, a, 1, info )
435 CALL
chkxer(
'ZPBTF2', infot, nout, lerr, ok )
441 CALL
zpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
442 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
444 CALL
zpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
445 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
447 CALL
zpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
448 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
450 CALL
zpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
451 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
453 CALL
zpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
454 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
456 CALL
zpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
457 CALL
chkxer(
'ZPBTRS', infot, nout, lerr, ok )
463 CALL
zpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
465 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
467 CALL
zpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
469 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
471 CALL
zpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
473 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
475 CALL
zpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
477 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
479 CALL
zpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
481 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
483 CALL
zpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
485 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
487 CALL
zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
489 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
491 CALL
zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
493 CALL
chkxer(
'ZPBRFS', infot, nout, lerr, ok )
499 CALL
zpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
500 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
502 CALL
zpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
503 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
505 CALL
zpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
506 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
508 CALL
zpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
509 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
511 CALL
zpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
512 CALL
chkxer(
'ZPBCON', infot, nout, lerr, ok )
518 CALL
zpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
519 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
521 CALL
zpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
522 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
524 CALL
zpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
525 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
527 CALL
zpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
528 CALL
chkxer(
'ZPBEQU', infot, nout, lerr, ok )
533 CALL
alaesm( path, ok, nout )