77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 DOUBLE PRECISION ANRM, RCOND, BERR
81 DOUBLE PRECISION S( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
82 $ ERR_BNDS_N( NMAX, 3 ), ERR_BNDS_C( NMAX, 3 ),
84 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
85 $ W( 2*NMAX ), X( NMAX )
103 COMMON / infoc / infot, nout, ok, lerr
104 COMMON / srnamc / srnamt
107 INTRINSIC dble, dcmplx
112 WRITE( nout, fmt = * )
119 a( i, j ) = dcmplx( 1.d0 / dble( i+j ),
120 $ -1.d0 / dble( i+j ) )
121 af( i, j ) = dcmplx( 1.d0 / dble( i+j ),
122 $ -1.d0 / dble( i+j ) )
137 IF( lsamen( 2, c2,
'PO' ) )
THEN
143 CALL zpotrf(
'/', 0, a, 1, info )
144 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
146 CALL zpotrf(
'U', -1, a, 1, info )
147 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
149 CALL zpotrf(
'U', 2, a, 1, info )
150 CALL chkxer(
'ZPOTRF', infot, nout, lerr, ok )
156 CALL zpotf2(
'/', 0, a, 1, info )
157 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
159 CALL zpotf2(
'U', -1, a, 1, info )
160 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
162 CALL zpotf2(
'U', 2, a, 1, info )
163 CALL chkxer(
'ZPOTF2', infot, nout, lerr, ok )
169 CALL zpotri(
'/', 0, a, 1, info )
170 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
172 CALL zpotri(
'U', -1, a, 1, info )
173 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
175 CALL zpotri(
'U', 2, a, 1, info )
176 CALL chkxer(
'ZPOTRI', infot, nout, lerr, ok )
182 CALL zpotrs(
'/', 0, 0, a, 1, b, 1, info )
183 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
185 CALL zpotrs(
'U', -1, 0, a, 1, b, 1, info )
186 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
188 CALL zpotrs(
'U', 0, -1, a, 1, b, 1, info )
189 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
191 CALL zpotrs(
'U', 2, 1, a, 1, b, 2, info )
192 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
194 CALL zpotrs(
'U', 2, 1, a, 2, b, 1, info )
195 CALL chkxer(
'ZPOTRS', infot, nout, lerr, ok )
201 CALL zporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
203 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
205 CALL zporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
207 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
209 CALL zporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
211 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
213 CALL zporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
215 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
217 CALL zporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
219 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
221 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
223 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
225 CALL zporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
227 CALL chkxer(
'ZPORFS', infot, nout, lerr, ok )
235 CALL zporfsx(
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
236 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
237 $ params, w, r, info )
238 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
240 CALL zporfsx(
'U',
"/", -1, 0, a, 1, af, 1, s, b, 1, x, 1,
241 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
242 $ params, w, r, info )
243 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
246 CALL zporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
247 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
248 $ params, w, r, info )
249 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
251 CALL zporfsx(
'U', eq, 0, -1, a, 1, af, 1, s, b, 1, x, 1,
252 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
253 $ params, w, r, info )
254 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
256 CALL zporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
257 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
258 $ params, w, r, info )
259 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
261 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 1, s, b, 2, x, 2,
262 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
263 $ params, w, r, info )
264 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
266 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
267 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
268 $ params, w, r, info )
269 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
271 CALL zporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
272 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
273 $ params, w, r, info )
274 CALL chkxer(
'ZPORFSX', infot, nout, lerr, ok )
280 CALL zpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
281 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
283 CALL zpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
284 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
286 CALL zpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
287 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
289 CALL zpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
290 CALL chkxer(
'ZPOCON', infot, nout, lerr, ok )
296 CALL zpoequ( -1, a, 1, r1, rcond, anrm, info )
297 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
299 CALL zpoequ( 2, a, 1, r1, rcond, anrm, info )
300 CALL chkxer(
'ZPOEQU', infot, nout, lerr, ok )
306 CALL zpoequb( -1, a, 1, r1, rcond, anrm, info )
307 CALL chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
309 CALL zpoequb( 2, a, 1, r1, rcond, anrm, info )
310 CALL chkxer(
'ZPOEQUB', infot, nout, lerr, ok )
315 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
321 CALL zpptrf(
'/', 0, a, info )
322 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
324 CALL zpptrf(
'U', -1, a, info )
325 CALL chkxer(
'ZPPTRF', infot, nout, lerr, ok )
331 CALL zpptri(
'/', 0, a, info )
332 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
334 CALL zpptri(
'U', -1, a, info )
335 CALL chkxer(
'ZPPTRI', infot, nout, lerr, ok )
341 CALL zpptrs(
'/', 0, 0, a, b, 1, info )
342 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
344 CALL zpptrs(
'U', -1, 0, a, b, 1, info )
345 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
347 CALL zpptrs(
'U', 0, -1, a, b, 1, info )
348 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
350 CALL zpptrs(
'U', 2, 1, a, b, 1, info )
351 CALL chkxer(
'ZPPTRS', infot, nout, lerr, ok )
357 CALL zpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
358 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
360 CALL zpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
362 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
364 CALL zpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
366 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
368 CALL zpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
369 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
371 CALL zpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
372 CALL chkxer(
'ZPPRFS', infot, nout, lerr, ok )
378 CALL zppcon(
'/', 0, a, anrm, rcond, w, r, info )
379 CALL chkxer(
'ZPPCON', infot, nout, lerr, ok )
381 CALL zppcon(
'U', -1, 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 )
391 CALL zppequ(
'/', 0, a, r1, rcond, anrm, info )
392 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
394 CALL zppequ(
'U', -1, a, r1, rcond, anrm, info )
395 CALL chkxer(
'ZPPEQU', infot, nout, lerr, ok )
400 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
406 CALL zpbtrf(
'/', 0, 0, a, 1, info )
407 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
409 CALL zpbtrf(
'U', -1, 0, a, 1, info )
410 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
412 CALL zpbtrf(
'U', 1, -1, a, 1, info )
413 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
415 CALL zpbtrf(
'U', 2, 1, a, 1, info )
416 CALL chkxer(
'ZPBTRF', infot, nout, lerr, ok )
422 CALL zpbtf2(
'/', 0, 0, a, 1, info )
423 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
425 CALL zpbtf2(
'U', -1, 0, a, 1, info )
426 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
428 CALL zpbtf2(
'U', 1, -1, a, 1, info )
429 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
431 CALL zpbtf2(
'U', 2, 1, a, 1, info )
432 CALL chkxer(
'ZPBTF2', infot, nout, lerr, ok )
438 CALL zpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
439 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
441 CALL zpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
442 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
444 CALL zpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
445 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
447 CALL zpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
448 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
450 CALL zpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
451 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
453 CALL zpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
454 CALL chkxer(
'ZPBTRS', infot, nout, lerr, ok )
460 CALL zpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
462 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
464 CALL zpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
466 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
468 CALL zpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
470 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
472 CALL zpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
474 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
476 CALL zpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
478 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
480 CALL zpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
482 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
484 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
486 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
488 CALL zpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
490 CALL chkxer(
'ZPBRFS', infot, nout, lerr, ok )
496 CALL zpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
497 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
499 CALL zpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
500 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
502 CALL zpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
503 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
505 CALL zpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
506 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
508 CALL zpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
509 CALL chkxer(
'ZPBCON', infot, nout, lerr, ok )
515 CALL zpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
516 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
518 CALL zpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
519 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
521 CALL zpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
522 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
524 CALL zpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
525 CALL chkxer(
'ZPBEQU', infot, nout, lerr, ok )
530 CALL alaesm( path, ok, nout )