77 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS
78 REAL ANRM, RCOND, BERR
82 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
83 $ R1( NMAX ), R2( NMAX ), W( 3*NMAX ), X( NMAX ),
84 $ S( NMAX ), ERR_BNDS_N( NMAX, 3 ),
85 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
103 COMMON / infoc / infot, nout, ok, lerr
104 COMMON / srnamc / srnamt
112 WRITE( nout, fmt = * )
119 a( i, j ) = 1. / real( i+j )
120 af( i, j ) = 1. / real( i+j )
132 IF( lsamen( 2, c2,
'PO' ) )
THEN
141 CALL spotrf(
'/', 0, a, 1, info )
142 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
144 CALL spotrf(
'U', -1, a, 1, info )
145 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
147 CALL spotrf(
'U', 2, a, 1, info )
148 CALL chkxer(
'SPOTRF', infot, nout, lerr, ok )
154 CALL spotf2(
'/', 0, a, 1, info )
155 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
157 CALL spotf2(
'U', -1, a, 1, info )
158 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
160 CALL spotf2(
'U', 2, a, 1, info )
161 CALL chkxer(
'SPOTF2', infot, nout, lerr, ok )
167 CALL spotri(
'/', 0, a, 1, info )
168 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
170 CALL spotri(
'U', -1, a, 1, info )
171 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
173 CALL spotri(
'U', 2, a, 1, info )
174 CALL chkxer(
'SPOTRI', infot, nout, lerr, ok )
180 CALL spotrs(
'/', 0, 0, a, 1, b, 1, info )
181 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
183 CALL spotrs(
'U', -1, 0, a, 1, b, 1, info )
184 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
186 CALL spotrs(
'U', 0, -1, a, 1, b, 1, info )
187 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
189 CALL spotrs(
'U', 2, 1, a, 1, b, 2, info )
190 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
192 CALL spotrs(
'U', 2, 1, a, 2, b, 1, info )
193 CALL chkxer(
'SPOTRS', infot, nout, lerr, ok )
199 CALL sporfs(
'/', 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w, iw,
201 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
203 CALL sporfs(
'U', -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
205 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
207 CALL sporfs(
'U', 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
209 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
211 CALL sporfs(
'U', 2, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w, iw,
213 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
215 CALL sporfs(
'U', 2, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w, iw,
217 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
219 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 1, x, 2, r1, r2, w, iw,
221 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
223 CALL sporfs(
'U', 2, 1, a, 2, af, 2, b, 2, x, 1, r1, r2, w, iw,
225 CALL chkxer(
'SPORFS', infot, nout, lerr, ok )
233 CALL sporfsx(
'/', 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, iw, info )
236 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
238 CALL sporfsx(
'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, iw, info )
241 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
244 CALL sporfsx(
'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, iw, info )
247 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
249 CALL sporfsx(
'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, iw, info )
252 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
254 CALL sporfsx(
'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, iw, info )
257 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
259 CALL sporfsx(
'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, iw, info )
262 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
264 CALL sporfsx(
'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, iw, info )
267 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
269 CALL sporfsx(
'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, iw, info )
272 CALL chkxer(
'SPORFSX', infot, nout, lerr, ok )
278 CALL spocon(
'/', 0, a, 1, anrm, rcond, w, iw, info )
279 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
281 CALL spocon(
'U', -1, a, 1, anrm, rcond, w, iw, info )
282 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
284 CALL spocon(
'U', 2, a, 1, anrm, rcond, w, iw, info )
285 CALL chkxer(
'SPOCON', infot, nout, lerr, ok )
291 CALL spoequ( -1, a, 1, r1, rcond, anrm, info )
292 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
294 CALL spoequ( 2, a, 1, r1, rcond, anrm, info )
295 CALL chkxer(
'SPOEQU', infot, nout, lerr, ok )
301 CALL spoequb( -1, a, 1, r1, rcond, anrm, info )
302 CALL chkxer(
'SPOEQUB', infot, nout, lerr, ok )
304 CALL spoequb( 2, a, 1, r1, rcond, anrm, info )
305 CALL chkxer(
'SPOEQUB', infot, nout, lerr, ok )
307 ELSE IF( lsamen( 2, c2,
'PP' ) )
THEN
316 CALL spptrf(
'/', 0, a, info )
317 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
319 CALL spptrf(
'U', -1, a, info )
320 CALL chkxer(
'SPPTRF', infot, nout, lerr, ok )
326 CALL spptri(
'/', 0, a, info )
327 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
329 CALL spptri(
'U', -1, a, info )
330 CALL chkxer(
'SPPTRI', infot, nout, lerr, ok )
336 CALL spptrs(
'/', 0, 0, a, b, 1, info )
337 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
339 CALL spptrs(
'U', -1, 0, a, b, 1, info )
340 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
342 CALL spptrs(
'U', 0, -1, a, b, 1, info )
343 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
345 CALL spptrs(
'U', 2, 1, a, b, 1, info )
346 CALL chkxer(
'SPPTRS', infot, nout, lerr, ok )
352 CALL spprfs(
'/', 0, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
354 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
356 CALL spprfs(
'U', -1, 0, a, af, b, 1, x, 1, r1, r2, w, iw,
358 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
360 CALL spprfs(
'U', 0, -1, a, af, b, 1, x, 1, r1, r2, w, iw,
362 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
364 CALL spprfs(
'U', 2, 1, a, af, b, 1, x, 2, r1, r2, w, iw,
366 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
368 CALL spprfs(
'U', 2, 1, a, af, b, 2, x, 1, r1, r2, w, iw,
370 CALL chkxer(
'SPPRFS', infot, nout, lerr, ok )
376 CALL sppcon(
'/', 0, a, anrm, rcond, w, iw, info )
377 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
379 CALL sppcon(
'U', -1, a, anrm, rcond, w, iw, info )
380 CALL chkxer(
'SPPCON', infot, nout, lerr, ok )
386 CALL sppequ(
'/', 0, a, r1, rcond, anrm, info )
387 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
389 CALL sppequ(
'U', -1, a, r1, rcond, anrm, info )
390 CALL chkxer(
'SPPEQU', infot, nout, lerr, ok )
392 ELSE IF( lsamen( 2, c2,
'PB' ) )
THEN
401 CALL spbtrf(
'/', 0, 0, a, 1, info )
402 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
404 CALL spbtrf(
'U', -1, 0, a, 1, info )
405 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
407 CALL spbtrf(
'U', 1, -1, a, 1, info )
408 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
410 CALL spbtrf(
'U', 2, 1, a, 1, info )
411 CALL chkxer(
'SPBTRF', infot, nout, lerr, ok )
417 CALL spbtf2(
'/', 0, 0, a, 1, info )
418 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
420 CALL spbtf2(
'U', -1, 0, a, 1, info )
421 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
423 CALL spbtf2(
'U', 1, -1, a, 1, info )
424 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
426 CALL spbtf2(
'U', 2, 1, a, 1, info )
427 CALL chkxer(
'SPBTF2', infot, nout, lerr, ok )
433 CALL spbtrs(
'/', 0, 0, 0, a, 1, b, 1, info )
434 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
436 CALL spbtrs(
'U', -1, 0, 0, a, 1, b, 1, info )
437 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
439 CALL spbtrs(
'U', 1, -1, 0, a, 1, b, 1, info )
440 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
442 CALL spbtrs(
'U', 0, 0, -1, a, 1, b, 1, info )
443 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
445 CALL spbtrs(
'U', 2, 1, 1, a, 1, b, 1, info )
446 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
448 CALL spbtrs(
'U', 2, 0, 1, a, 1, b, 1, info )
449 CALL chkxer(
'SPBTRS', infot, nout, lerr, ok )
455 CALL spbrfs(
'/', 0, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
457 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
459 CALL spbrfs(
'U', -1, 0, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
461 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
463 CALL spbrfs(
'U', 1, -1, 0, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
465 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
467 CALL spbrfs(
'U', 0, 0, -1, a, 1, af, 1, b, 1, x, 1, r1, r2, w,
469 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
471 CALL spbrfs(
'U', 2, 1, 1, a, 1, af, 2, b, 2, x, 2, r1, r2, w,
473 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
475 CALL spbrfs(
'U', 2, 1, 1, a, 2, af, 1, b, 2, x, 2, r1, r2, w,
477 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
479 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 1, x, 2, r1, r2, w,
481 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
483 CALL spbrfs(
'U', 2, 0, 1, a, 1, af, 1, b, 2, x, 1, r1, r2, w,
485 CALL chkxer(
'SPBRFS', infot, nout, lerr, ok )
491 CALL spbcon(
'/', 0, 0, a, 1, anrm, rcond, w, iw, info )
492 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
494 CALL spbcon(
'U', -1, 0, a, 1, anrm, rcond, w, iw, info )
495 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
497 CALL spbcon(
'U', 1, -1, a, 1, anrm, rcond, w, iw, info )
498 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
500 CALL spbcon(
'U', 2, 1, a, 1, anrm, rcond, w, iw, info )
501 CALL chkxer(
'SPBCON', infot, nout, lerr, ok )
507 CALL spbequ(
'/', 0, 0, a, 1, r1, rcond, anrm, info )
508 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
510 CALL spbequ(
'U', -1, 0, a, 1, r1, rcond, anrm, info )
511 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
513 CALL spbequ(
'U', 1, -1, a, 1, r1, rcond, anrm, info )
514 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
516 CALL spbequ(
'U', 2, 1, a, 1, r1, rcond, anrm, info )
517 CALL chkxer(
'SPBEQU', infot, nout, lerr, ok )
522 CALL alaesm( path, ok, nout )