77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 REAL ANRM, RCOND, BERR
81 REAL S( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
82 $ ERR_BNDS_N( NMAX, 3 ), ERR_BNDS_C( NMAX, 3 ),
84 COMPLEX 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 cmplx, real
112 WRITE( nout, fmt = * )
119 a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
120 af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
135 IF( lsamen( 2, c2,
'PO' ) )
THEN
141 CALL cpotrf(
'/', 0, a, 1, info )
142 CALL chkxer(
'CPOTRF', infot, nout, lerr, ok )
144 CALL cpotrf(
'U', -1, a, 1, info )
145 CALL chkxer(
'CPOTRF', infot, nout, lerr, ok )
147 CALL cpotrf(
'U', 2, a, 1, info )
148 CALL chkxer(
'CPOTRF', infot, nout, lerr, ok )
154 CALL cpotf2(
'/', 0, a, 1, info )
155 CALL chkxer(
'CPOTF2', infot, nout, lerr, ok )
157 CALL cpotf2(
'U', -1, a, 1, info )
158 CALL chkxer(
'CPOTF2', infot, nout, lerr, ok )
160 CALL cpotf2(
'U', 2, a, 1, info )
161 CALL chkxer(
'CPOTF2', infot, nout, lerr, ok )
167 CALL cpotri(
'/', 0, a, 1, info )
168 CALL chkxer(
'CPOTRI', infot, nout, lerr, ok )
170 CALL cpotri(
'U', -1, a, 1, info )
171 CALL chkxer(
'CPOTRI', infot, nout, lerr, ok )
173 CALL cpotri(
'U', 2, a, 1, info )
174 CALL chkxer(
'CPOTRI', infot, nout, lerr, ok )
180 CALL cpotrs(
'/', 0, 0, a, 1, b, 1, info )
181 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
183 CALL cpotrs(
'U', -1, 0, a, 1, b, 1, info )
184 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
186 CALL cpotrs(
'U', 0, -1, a, 1, b, 1, info )
187 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
189 CALL cpotrs(
'U', 2, 1, a, 1, b, 2, info )
190 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
192 CALL cpotrs(
'U', 2, 1, a, 2, b, 1, info )
193 CALL chkxer(
'CPOTRS', infot, nout, lerr, ok )
199 CALL cporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
201 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
203 CALL cporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
205 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
207 CALL cporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w, r,
209 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
211 CALL cporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, r,
213 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
215 CALL cporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, r,
217 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
219 CALL cporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, r,
221 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
223 CALL cporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, r,
225 CALL chkxer(
'CPORFS', infot, nout, lerr, ok )
233 CALL cporfsx(
'/', eq, 0, 0, a, 1, af, 1, s, b, 1, x, 1,
234 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
235 $ params, w, r, info )
236 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
238 CALL cporfsx(
'U',
'/', -1, 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(
'CPORFSX', infot, nout, lerr, ok )
244 CALL cporfsx(
'U', eq, -1, 0, a, 1, af, 1, s, b, 1, x, 1,
245 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
246 $ params, w, r, info )
247 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
249 CALL cporfsx(
'U', eq, 0, -1, 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(
'CPORFSX', infot, nout, lerr, ok )
254 CALL cporfsx(
'U', eq, 2, 1, a, 1, af, 2, s, b, 2, x, 2,
255 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
256 $ params, w, r, info )
257 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
259 CALL cporfsx(
'U', eq, 2, 1, a, 2, af, 1, 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(
'CPORFSX', infot, nout, lerr, ok )
264 CALL cporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 1, x, 2,
265 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
266 $ params, w, r, info )
267 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
269 CALL cporfsx(
'U', eq, 2, 1, a, 2, af, 2, s, b, 2, x, 1,
270 $ rcond, berr, n_err_bnds, err_bnds_n, err_bnds_c, nparams,
271 $ params, w, r, info )
272 CALL chkxer(
'CPORFSX', infot, nout, lerr, ok )
278 CALL cpocon(
'/', 0, a, 1, anrm, rcond, w, r, info )
279 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
281 CALL cpocon(
'U', -1, a, 1, anrm, rcond, w, r, info )
282 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
284 CALL cpocon(
'U', 2, a, 1, anrm, rcond, w, r, info )
285 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
287 CALL cpocon(
'U', 1, a, 1, -anrm, rcond, w, r, info )
288 CALL chkxer(
'CPOCON', infot, nout, lerr, ok )
294 CALL cpoequ( -1, a, 1, r1, rcond, anrm, info )
295 CALL chkxer(
'CPOEQU', infot, nout, lerr, ok )
297 CALL cpoequ( 2, a, 1, r1, rcond, anrm, info )
298 CALL chkxer(
'CPOEQU', infot, nout, lerr, ok )
304 CALL cpoequb( -1, a, 1, r1, rcond, anrm, info )
305 CALL chkxer(
'CPOEQUB', infot, nout, lerr, ok )
307 CALL cpoequb( 2, a, 1, r1, rcond, anrm, info )
308 CALL chkxer(
'CPOEQUB', infot, nout, lerr, ok )
313 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
319 CALL cpptrf(
'/', 0, a, info )
320 CALL chkxer(
'CPPTRF', infot, nout, lerr, ok )
322 CALL cpptrf(
'U', -1, a, info )
323 CALL chkxer(
'CPPTRF', infot, nout, lerr, ok )
329 CALL cpptri(
'/', 0, a, info )
330 CALL chkxer(
'CPPTRI', infot, nout, lerr, ok )
332 CALL cpptri(
'U', -1, a, info )
333 CALL chkxer(
'CPPTRI', infot, nout, lerr, ok )
339 CALL cpptrs(
'/', 0, 0, a, b, 1, info )
340 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
342 CALL cpptrs(
'U', -1, 0, a, b, 1, info )
343 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
345 CALL cpptrs(
'U', 0, -1, a, b, 1, info )
346 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
348 CALL cpptrs(
'U', 2, 1, a, b, 1, info )
349 CALL chkxer(
'CPPTRS', infot, nout, lerr, ok )
355 CALL cpprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, r, info )
356 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
358 CALL cpprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, r,
360 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
362 CALL cpprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, r,
364 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
366 CALL cpprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, r, info )
367 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
369 CALL cpprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, r, info )
370 CALL chkxer(
'CPPRFS', infot, nout, lerr, ok )
376 CALL cppcon(
'/', 0, a, anrm, rcond, w, r, info )
377 CALL chkxer(
'CPPCON', infot, nout, lerr, ok )
379 CALL cppcon(
'U', -1, 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 )
389 CALL cppequ(
'/', 0, a, r1, rcond, anrm, info )
390 CALL chkxer(
'CPPEQU', infot, nout, lerr, ok )
392 CALL cppequ(
'U', -1, a, r1, rcond, anrm, info )
393 CALL chkxer(
'CPPEQU', infot, nout, lerr, ok )
398 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
404 CALL cpbtrf(
'/', 0, 0, a, 1, info )
405 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
407 CALL cpbtrf(
'U', -1, 0, a, 1, info )
408 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
410 CALL cpbtrf(
'U', 1, -1, a, 1, info )
411 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
413 CALL cpbtrf(
'U', 2, 1, a, 1, info )
414 CALL chkxer(
'CPBTRF', infot, nout, lerr, ok )
420 CALL cpbtf2(
'/', 0, 0, a, 1, info )
421 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
423 CALL cpbtf2(
'U', -1, 0, a, 1, info )
424 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
426 CALL cpbtf2(
'U', 1, -1, a, 1, info )
427 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
429 CALL cpbtf2(
'U', 2, 1, a, 1, info )
430 CALL chkxer(
'CPBTF2', infot, nout, lerr, ok )
436 CALL cpbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
437 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
439 CALL cpbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
440 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
442 CALL cpbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
443 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
445 CALL cpbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
446 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
448 CALL cpbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
449 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
451 CALL cpbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
452 CALL chkxer(
'CPBTRS', infot, nout, lerr, ok )
458 CALL cpbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
460 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
462 CALL cpbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
464 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
466 CALL cpbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
468 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
470 CALL cpbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
472 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
474 CALL cpbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
476 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
478 CALL cpbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
480 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
482 CALL cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
484 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
486 CALL cpbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
488 CALL chkxer(
'CPBRFS', infot, nout, lerr, ok )
494 CALL cpbcon(
'/', 0, 0, a, 1, anrm, rcond, w, r, info )
495 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
497 CALL cpbcon(
'U', -1, 0, a, 1, anrm, rcond, w, r, info )
498 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
500 CALL cpbcon(
'U', 1, -1, a, 1, anrm, rcond, w, r, info )
501 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
503 CALL cpbcon(
'U', 2, 1, a, 1, anrm, rcond, w, r, info )
504 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
506 CALL cpbcon(
'U', 1, 0, a, 1, -anrm, rcond, w, r, info )
507 CALL chkxer(
'CPBCON', infot, nout, lerr, ok )
513 CALL cpbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
514 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
516 CALL cpbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
517 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
519 CALL cpbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
520 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
522 CALL cpbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
523 CALL chkxer(
'CPBEQU', infot, nout, lerr, ok )
528 CALL alaesm( path, ok, nout )